我只是在一台服务器上安装了CentOS 7.1,我对systemctl和service systemctl感到困惑。
在CentOS 6上,我会在运行service时得到反馈,例如:
root@centos6 [~]# service mysql restart Shutting down MySQL........................................[ OK ] Starting MySQL.............................................[ OK ] root@centos6 [~]# service mysql status MySQL running (910285) [ OK ] root@centos6 [~]#
但是在CentOS 7上,当我使用systemctl ,我什么也得不到。 我不知道发生了什么,或者甚至发生了什么事情:
root@centos7 [~]# systemctl restart mysql root@centos7 [~]# /bin/systemctl restart mysql.service # Nothing happened
当我在CentOS 7上运行service时,会发生这种情况:
root@centos7 [~]# service mysql restart Redirecting to /bin/systemctl restart mysql.service
我错过了什么?
像任何好的unix命令一样,除非出现问题,否则systemctl不会输出任何内容,或者运行明确需要输出的命令。 如果你什么都看不到,那么命令是成功的。
如果你愿意,你可以运行systemctl status mysql来查看它的当前状态。
这是我做的:
systemctl start my-service && journalctl -fexu my-service
journalctl是从您的systemd服务获取输出的最简单的方法。
-f跟随my-service的日志输出,直到我退出(ctrl-C)。 -e滚动到最后(最近)的日志消息。 -x解释(如果可用)。 -u只会显示来自my-service单元的日志。 由于云的出现,人类不再需要手工启动和停止服务,所以这个命令不需要提供任何反馈,甚至作为一个选项。 感谢飞行systemd!