`/sbin/service postgresql-9.1 start` 和 `/etc/init.d/postgresql-9.1 start` 之间的区别

`/sbin/service postgresql-9.1 start` 和 `/etc/init.d/postgresql-9.1 start` 之间的区别

我见过两种启动 postgresql 服务器的方法:

/sbin/service postgresql-9.1 start

/etc/init.d/postgresql-9.1 start

有人能解释一下这两者的区别吗?或者根本没有区别?

我们使用的操作系统是 CentOS 6.2

答案1

在您的系统和大多数“较旧”的系统上,service它的作用与运行 init 脚本相同。根据实现,它可能会设置更可预测的环境,因此如果可用,仍建议使用它。

但是,一般的想法是,service也适用于较新的 init 系统。例如,如果您有 Upstart,那么service会向 Upstart 系统发出信号,而不是运行某个脚本来启动或停止服务。因此,为了面向未来,请使用service

答案2

没有任何。

按照man

服务 - 运行 System V init 脚本

答案3

无。/sbin/service
只是一个通用脚本,它将运行初始化脚本并传递命令(如果您查看 /sbin/service 就会看到)
所以基本上现在您可以说:service name command[start/stop/status/restart/...]

相关内容