我刚刚安装了Ubuntu 16.04 LTS,发现在运行时
usr@server:~$ sudo service <servicename> restart
usr@server:~$
服务已重新启动(我可以通过看到状态service <servicename> status
),但是外壳程序会直接返回命令行,而不会出现预期的情况:
* Stopping <servicename> [ OK ]
* Starting <servicename> [ OK ]
我刚刚安装了Ubuntu 16.04 LTS,发现在运行时
usr@server:~$ sudo service <servicename> restart
usr@server:~$
服务已重新启动(我可以通过看到状态service <servicename> status
),但是外壳程序会直接返回命令行,而不会出现预期的情况:
* Stopping <servicename> [ OK ]
* Starting <servicename> [ OK ]
Answers:
首先,Ubuntu在早期版本中没有这种行为。在不到十年的时间里,Ubuntu还是一个暴发户系统,并且service
这些年来,Ubuntu 上的命令行为一直与您期望的不一样。您可以service
在如何获取服务命令以在15.10中打印输出中的图像中看到该命令的新贵行为。。
对于您来说,答案与去年使用Ubuntu 15.10版本的人几乎相同:
您正在使用Ubuntu 16.10版本,这是一个系统化的操作系统。您的系统服务管理不再由新贵(或以前在任何非Ubuntu操作系统上执行过的任何实用程序)执行。它由systemd执行。
该service
命令可能是相同的……但是Debian / Ubuntu service
命令是一个Shell脚本,它试图自动检测upstart或systemd是正在运行的系统服务管理器,并为upstart和systemd运行实际的本机服务管理命令。它为upstart和systemd执行两个几乎完全不同的代码路径。
新贵的本地服务管理命令initctl start
,initctl stop
,initctl status
等等。这些消息随即打印。
systemd的本地服务管理命令systemctl start
,systemctl stop
,systemctl status
等等。那些在操作时不打印输出。