Назад | Перейти на главную страницу

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 nginx, то status добавляет еще одну копию ошибки внизу. Я сделал enable вроде 4 или 5 раз подряд, а затем status показывает 5 таких ошибок. О чем эта ошибка?

Кроме того, когда я наконец start сервис, все эти ошибки исчезают из status.

systemd регистрирует все сообщения (запуск / остановка) в / var / log / message, используя syslog, строка ошибок, которую вы видите, в основном все совпадающие строки для "nginx" с опцией хвоста. Это что-то = ~ grep nginx | tail который отобразит последние 10 строк / var / log / message для "nginx" grep. Обычно 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

По поводу части про "Не удалось разобрать режим уничтожения, игнорирование смешанного". CentOS 7 не поддерживает этот режим. Я не уверен, когда он был добавлен в systemd, но в CentOS 7 я использую «KillMode = process». Причина, по которой я использую процесс вместо параметра по умолчанию, которым является группа управления, заключается в том, что мой демон создает дочерние процессы, которые я отслеживаю и контролирую, и мне не нравится, когда systemd убивает их при остановке основного демона.

См. "Man systemd.kill" для получения дополнительной информации.

KillMode = mixed поддерживается в системе Fedora 21, которую я тестировал.