Как связать 2 процесса, чтобы при сбое одного происходил сбой и другого? - PullRequest
0 голосов
/ 05 января 2011

Я пишу программу bash, которая имеет IPC между двумя процессами (A и B) через именованные каналы. Я беспокоюсь, потому что в случае сбоя A B может быть заблокирован на неопределенный срок (и наоборот), потому что блокируются именованные каналы. Могу ли я связать A и B, чтобы в случае сбоя A вызвать сбой B? Любые другие альтернативы для решения этой проблемы блокировки будут оценены.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 05 января 2011

Если вы говорите о скрипте bash? Если это так, вы можете перехватить сигнал, отправленный на A , чтобы убить его, а затем отправить сигнал на B , чтобы он вышел.

Соответствующие функции bash: trap и kill. И соответствующими сигналами будут SIGKILL, SIGINT, SIGHUP и т. Д. Вызов: trap -l перечислит все возможные сигналы.

0 голосов
/ 05 января 2011

Вам может понадобиться дополнительный процесс «C», который контролирует активность процесса «A» и процесса «B»

...