Как подать сигнал приложению, не убивая его в Linux?

У меня есть сторожевой таймер. Он наблюдает за моим основным приложением, которое по той или иной причине может вылететь (я знаю, что это плохо, но не в этом дело).

Я запрограммировал этот сторожевой таймер так, чтобы он принимал сигналы SIGUSR1 и прекращал отслеживать присутствие моего приложения. Я сигнализирую об этом с помощью

kill -SIGUSR1 `pidof myapp`

. Это работает очень хорошо. Моя проблема возникает, когда я пытаюсь сигнализировать более старую версию сторожевого таймера, в которую не встроена эта функция. В этом случае сигнал уничтожения убивает сторожевой таймер (завершает процесс), что приводит к дальнейшим осложнениям (перезагрузка устройства) .

Есть ли способ сигнализировать моему сторожевому таймеру с помощью SIGUSR1, чтобы он не прекращал работу, если этот конкретный сигнал не обработан?

33
задан Eric 30 May 2012 в 22:01
поделиться