我只是在一台服务器上安装了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!