Дочерние процессы, созданные с помощью fork(), автоматически уничтожаются при уничтожении родителя?

Я создаю дочерние процессы с fork() в C/C++.
Когда родительский процесс заканчивается (или по какой-то причине уничтожается), я хочу, чтобы все дочерние процессы также были уничтожены.
Это делается автоматически системой? Или я должен сделать это сам?

Благодарю.


Существующие похожие вопросы:

1 ответ

Решение

Нет. Если родительский объект убит, дочерние элементы становятся дочерними элементами процесса init (который имеет идентификатор процесса 1 и запускается ядром как первый пользовательский процесс).

Процесс init периодически проверяет наличие новых дочерних элементов и ожидает их (освобождая ресурсы, которые распределяются по их возвращаемому значению).

Вопрос уже обсуждался с качественными ответами здесь: как заставить дочерний процесс умереть после выхода родителей?

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