服务apache2重新启动和/etc/init.d/apache2重新启动做同样的事情?

这两种不同的语法做同样的事情吗?

$ service apache2 restart $ /etc/init.d/apache2 restart 

是。 向后兼容的/etc/init.d/脚本基本上运行服务myservice启动/停止/ retstart而不是自己做任何事情。

Service只不过是一个shell脚本。

 cat /sbin/service 

在顶部你会看到它将SERVICEDIR设置为/etc/init.d。

服务脚本还有其他几个选项,如

 --status-all --full-restart 

循环所有的服务。 但是你传给它的名字是和init.d脚本匹配的。

是。

准确地说:

 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)

在某种程度上,是的。 实际上,如果以/etc/init.d/开头,upstart作业会给出警告,而service命令对于sys v init脚本以及upstart作业都会起作用。