服务启动/停止/重启命令没有输出

我刚刚安装了Ubuntu 16.04 LTS,发现当我跑的时候

usr@server:~$ sudo service  restart usr@server:~$ 

服务重新启动(我可以看到service status ),但shell直接返回命令行而没有预期的:

 * Stopping  [ OK ] * Starting  [ OK ] 

你不应该期待这样的输出。

对于初学者来说,Ubuntu在早期版本中并没有这样做。 Ubuntu是一个不到十年的新兴系统,Ubuntu service命令的行为在这些年里并不像你期望的那样。 可以在15.10中如何获取服务命令打印输出的图像中看到service命令的upstart行为? 。

对于你和去年Ubuntu 15.10版本的人来说,答案基本相同:

您使用的是Ubuntu 16.10版,一个系统操作系统。 您的系统服务管理不再由upstart执行(或者您以前在任何非Ubuntu操作系统上执行的任何实用程序)。 它由systemd执行。

service命令可能是相同的……但是Debian / Ubuntu service命令是一个shell脚本,它试图自动检测upstart或systemd是否是正在运行的系统服务管理器,并为upstart和systemd运行实际的本机服务管理命令。 它为upstart和systemd执行两个完全不同的代码路径。

upstart的本机服务管理命令是initctl startinitctl stopinitctl status等等。 那些打印消息。

systemd的本机服务管理命令是systemctl startsystemctl stopsystemctl status等。 那些打印没有输出操作。

进一步阅读