两种不同的语法能完成相同的任务吗?
$ service apache2 restart
$ /etc/init.d/apache2 restart
答案1
是的。向后兼容的 /etc/init.d/ 脚本基本上运行 service myservice start/stop/retstart,而不是自己执行任何操作。
答案2
服务不过是一个shell脚本。
cat /sbin/service
在顶部您将看到它将 SERVICEDIR 设置为 /etc/init.d。
服务脚本还有一些其他选项,例如
--status-all
--full-restart
该循环遍历所有服务。但您传递给它的名称与 init.d 脚本相匹配。
答案3
是的。
确切地说:
service runs a System V init script in as predictable environment as possible,
removing most environment variables and with current working directory set to /.
(从service(8)
)
答案4
/etc/init.d/
从某种程度上来说,是的。实际上,如果使用while命令启动,upstart 作业将发出警告,这service
始终适用于 sys v init 脚本和 upstart 作业。