systemctl 无法解析终止模式,忽略混合

systemctl 无法解析终止模式,忽略混合

在 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 nginxstatus底部都会出现另一个错误副本。我enable连续执行了 4 或 5 次,然后status显示 5 个这样的错误。这个错误是怎么回事?

此外,当我最终使用start该服务时,所有这些错误都消失了status

答案1

systemd 使用 syslog 将所有消息(启动/停止)记录到 /var/log/message,您看到的错误行基本上都是带有 tail 选项的“nginx”匹配行。它的 something =~grep nginx | tail将显示“nginx”grep 的 /var/log/message 的最后 10 行。基本上,systemctl 显示日志中的最后 10 行以帮助用户识别问题。

    [root@puppetmaster ~]# grep nginx /var/log/messages| tail
    Jul  1 05:59:50 localhost systemd: [/usr/lib/systemd/system/nginx.service:13] Failed to parse kill mode, ignoring: mixed
    Jul  1 05:59:57 localhost systemd: [/usr/lib/systemd/system/nginx.service:13] Failed to parse kill mode, ignoring: mixed
    Jul  1 06:05:35 localhost systemd: [/usr/lib/systemd/system/nginx.service:13] Failed to parse kill mode, ignoring: mixed
    Jul  1 06:23:30 localhost systemd: [/usr/lib/systemd/system/nginx.service:13] Failed to parse kill mode, ignoring: mixed
    Jul  1 06:23:34 localhost systemd: [/usr/lib/systemd/system/nginx.service:13] Failed to parse kill mode, ignoring: mixed
    Jul  1 06:23:46 localhost systemd: [/usr/lib/systemd/system/nginx.service:13] Failed to parse kill mode, ignoring: mixed
    Jul  1 06:27:07 localhost systemd: [/usr/lib/systemd/system/nginx.service:13] Failed to parse kill mode, ignoring: mixed
    Jul  1 06:27:19 localhost systemd: [/usr/lib/systemd/system/nginx.service:13] Failed to parse kill mode, ignoring: mixed
    Jul  1 06:27:24 localhost systemd: [/usr/lib/systemd/system/nginx.service:13] Failed to parse kill mode, ignoring: mixed
    Jul  1 06:27:28 localhost systemd: [/usr/lib/systemd/system/nginx.service:13] Failed to parse kill mode, ignoring: mixed

答案2

关于“无法解析终止模式,忽略混合”的部分。CentOS 7 不支持此模式。我不确定它是何时添加到 systemd 的,但在 CentOS 7 上我使用“KillMode=process”。我使用进程而不是默认的控制组,原因是我的守护进程创建了我监视和控制的子进程,并且不喜欢 systemd 在停止主守护进程时杀死它们。

查看“man systemd.kill”了解更多信息。

不过,我测试的 Fedora 21 系统支持 KillMode=mixed。

相关内容