Linux “Завершит работу”, команда позволяют параметру определять паузу между отправкой SIGTERM и SIGKILL?

Страница справочника, кажется, указывает нет. На Fedora существует/etc/rc.d/init.d/halt. Это имеет твердую кодированную паузу в нем, но там получено, чтобы быть лучшим путем, чем изменить тот сценарий. Любая справка ценилась бы.

4
задан 09.01.2011, 21:30

2 ответа

Страница справочника в моей системе имеет:

-t sec Tell  init(8)  to  wait sec seconds between sending
processes the warning and  the kill signal, before changing 
to another runlevel.

(Это - вероятно, более соответствующий вопрос для serverfault),

4
ответ дан 07.12.2019, 20:45

Чтобы иметь определенную задержку между SIGTERM и SIGKILL, Вы могли указать три команды в сценарии как корень

kill -SIGTERM -1
sleep 20
kill -SIGKILL -1

кому:

  • отправьте SIGTERM во все процессы (но 1),
  • ожидайте в течение 20 секунд, затем
  • отправьте -9 предупредите для уничтожения сразу остающихся процессов,

но это уничтожило бы Ваши собственные процессы, Ваш shell интерпретатор...
Разработка сценария (например, в Perl), чтобы перечислить все процессы, затем уничтожить только процессы, которые не вредят собственному сценарию и запускают его в nohup присоединить его к father-all 1 обработайте, сделал бы задание.

Другое решение состоит в том, чтобы загрузить источник shutdown (или halt) и посмотрите, как это работает - добавление, что фиксированная или дополнительная задержка между отправкой двух сигналов не должна быть слишком твердой.

0
ответ дан 07.12.2019, 20:45

Теги

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