SIGTERM для дочернего процесса также убивает родителяLinux

Ответить
Anonymous
 SIGTERM для дочернего процесса также убивает родителя

Сообщение Anonymous »

когда я это сделаю

Код: Выделить всё

pid_t pid = fork();
...
if (pid == 0)
execvp(...);
...
if (pid > 0) {
kill(pid, SIGTERM);
}
он ​​убивает дочерний процесс, это нормально,
но он также убивает родительский процесс (не уверен, что это важно, но родительский процесс имеет собственные обработчики сигналов).
это правильное поведение? или я делаю что-то не так?
как предотвратить завершение родительского процесса?
ожидаемая логика состоит в том, чтобы остановить дочерний процесс, если родительский процесс не получает некоторых уведомлений в течение предопределенного диапазона времени. затем снова запустите новый дочерний экземпляр

Подробнее здесь: https://stackoverflow.com/questions/791 ... parent-too
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»