Почему 'sudo pkill - ПОНУКАЮТ-f “nginx: основной процесс”, ' возвращающий код 129 и никакой вывод

Походит на проблему конфигурации Apache. Удостоверьтесь, чтобы Вы имели Options+FollowSymLinks (или Options +All) набор для данного каталога.

5
15.09.2012, 23:39
2 ответа

Обычно, когда оболочка возвращает код состояния выше 128, это означает, что процесс был уничтожен сигналом. Вычтите 128 для получения числа сигнала. Ваша команда уничтожения была уничтожена сигналом 1, который является, ПОНУКАЮТ.

pkill заботится, чтобы никогда уничтожить себя. Но это соответствовало своему родителю, sudo процесс.

Существует несколько способов избежать этого:

  • Использовать pkill -x для рассмотрения только точных совпадений и не подстрок (рекомендовал, если это возможно, это - лучший способ избежать побочных соответствий).
  • Не используйте -f опция.
  • (Последнее средство) Пишет шаблон, который не соответствует себе, например. "[n]ginx: master process".
5
27.01.2020, 20:39
  • 1
    Потрясающая идея... Я использовал pkill-x и просто использовал скороговорку regex "^nginx: основной процесс.* $", который работал как очарование!Спасибо! Конечный результат: sudo pkill -HUP -x -f "^nginx: master process.*$" –  iserko 17.08.2012, 16:57

sudo возвраты 129, потому что pkill отправляет Сигнал HUP в sudo. Это вызвано тем, что sudoкомандная строка соответствует строке, которой Вы дали pkill с -f. Процесс, завершенный сигналом, выходит с кодом 128 + число сигнала. ПОНУКНИТЕ сигнал номер 1, следовательно код выхода 129.

1
27.01.2020, 20:39

Теги

Похожие вопросы