В 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, которую я тестировал.