我正在寻找一个命令来停止所有正在运行的服务并可能随后重新启动它们。任何帮助都将不胜感激。
答案1
假设您正在使用 ubuntu 16.04,您可以使用 systemctl 来控制服务。
获取服务及其状态的列表
systemctl | grep service
要控制单个服务,请将 service 替换为服务名称
systemctl status service
systemctl stop service
systemctl start service
在旧版本的 ubuntu 中,可以通过位于 /etc/init.d 中的 init 脚本来控制服务,它们的工作方式类似
获取服务列表
ls -l /etc/init.d/
控制和个性化服务
/etc/init.d/service status
/etc/init.d/service stop
/etc/init.d/service start
答案2
尽管我强烈推荐重启机器,你可以编写一个命令来实现这一点:
笔记:这可能会迫使机器中途重新启动,此时这种努力就毫无意义了。
for s in `systemctl | grep service | cut -d '.' -f 1`; do sudo systemctl restart $s; done
我会列出所有当前正在运行的服务,确定我想要停止的服务,然后手动重新启动每个服务:
笔记:重新开始内部调用开始 + 停止这样您就不必单独执行它们。
列出当前正在运行的服务:
systemctl | grep running
输入以下命令重新启动每个服务:
systemctl restart <service>