在 CentOS 7 上,我想检查nginx
服务的状态:
# systemctl status nginx -l
nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled)
Active: inactive (dead)
Jun 30 03:40:08 dev01 systemd[1]: [/usr/lib/systemd/system/nginx.service:13]
Failed to parse kill mode, ignoring mixed
所以我启用了它:# systemctl enable nginx
并再次检查它:
# systemctl status nginx -l
nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled)
Active: inactive (dead)
Jun 30 03:40:08 dev01 systemd[1]: [/usr/lib/systemd/system/nginx.service:13]
Failed to parse kill mode, ignoring mixed
Jun 30 03:40:21 dev01 systemd[1]: [/usr/lib/systemd/system/nginx.service:13]
Failed to parse kill mode, ignoring mixed
这是什么错误?为什么每次我这样做:# systemctl enable nginx
,status
在底部添加另一个错误副本。我enable
连续做了 4 到 5 次,然后status
显示了 5 个这样的错误。这个错误是关于什么的?
此外,当我最终start
服务时,所有这些错误都从status
.
systemd 使用 syslog 将所有消息(启动/停止)记录到 /var/log/message,您看到的错误行基本上都是带有 tail 选项的“nginx”的所有匹配行。它的东西 =~
grep nginx | tail
将显示“nginx”grep 的 /var/log/message 的最后 10 行。基本上 systemctl 显示日志中的最后 10 行以帮助用户识别问题。关于“无法解析杀死模式,忽略混合”的部分。CentOS 7 不支持这种模式。我不确定它何时被添加到 systemd,但在 CentOS 7 上我使用“KillMode=process”。我使用进程而不是默认的控制组的原因是因为我的守护进程创建了我监视和控制的子进程,并且不喜欢 systemd 在停止主守护进程时将它们杀死。
有关详细信息,请参阅“man systemd.kill”。
我测试的 Fedora 21 系统支持 KillMode=mixed。