我通常使用此命令来重新启动我的守护进程(例如 vsftpd):
$sudo /etc/init.d/vsftpd restart
今天早些时候,我注意到它说我可以尝试 restart(8) 实用程序。我这样做了:
$sudo restart vsftpd
它起作用了。但是当我尝试重新启动 apache2 时:
$sudo restart apache2
> restart: Unknown job: apache2
为什么它们不同?当然我可以通过 /etc/init.d/apache2 重新启动 apache2
答案1
命令start
、stop
、restart
等是 的链接initctl
,并且仅适用于 upstart 作业。
直接调用脚本/etc/init.d/
将会对 upstart 作业发出警告,为了方便起见,通过包装器符号链接的通用脚本允许使用该脚本。
调用该service
命令总是有效的,无论是对于 upstart 作业还是传统的 sysv init 脚本,所以它是首选方式。
答案2
您应该能够使用服务:
sudo service apache2 restart