![`/sbin/service postgresql-9.1 start` 和 `/etc/init.d/postgresql-9.1 start` 之间的区别](https://linux22.com/image/1365211/%60%2Fsbin%2Fservice%20postgresql-9.1%20start%60%20%E5%92%8C%20%60%2Fetc%2Finit.d%2Fpostgresql-9.1%20start%60%20%E4%B9%8B%E9%97%B4%E7%9A%84%E5%8C%BA%E5%88%AB.png)
我见过两种启动 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/...]