Как сделать процесс “срочным” только SIGHUP или SIGKILL?

Я записал сценарий, который должен уничтожить застрявшие процессы. Сначала, это пробует самый слабый SIGTERM, если это не работает, это пробует SIGHUP, и если даже, который не помогает, это сделает SIGKILL. Теперь я хочу попробовать если эта работа сценария практически.

Как я могу сделать процесс застрявшим или создал затор, таким образом, это может быть stoppable только, ПОНУКАЮТ или Сигнал уничтожения?

0
задан 24 June 2017 в 16:31

1 ответ

Вероятно, самый простой путь состоял бы в том, чтобы записать минимальный сценарий удара, с помощью встроенного trap для определения пользовательского обработчика сигналов:

#!/bin/bash

function mysighandler {
  printf 'ignoring TERM signal\n'
}

trap mysighandler SIGTERM

while :
do
  printf 'Running. . .\n'
  sleep 2
done

Вы могли установить обработчик на пустую строку, которая заставит сигнал быть проигнорированным тихо - но создание минимального обработчика позволяет Вам подтверждать, что это было прервано.

, С другой стороны, пишут маленькую программу C, которая использует signal, API - видит man 2 signal.

1
ответ дан 3 November 2019 в 01:15

Другие вопросы по тегам:

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