Когда родительский процесс уничтожается, “уничтожают-9”, подпроцесс будет также уничтожен?

Смотрите на Changes.app. Да, это для платы, но это очень способно, быстро, легко на глазах. Это также имеет инструмент командной строки. Смотрите на Wiki для подсказок и приемов, особенно с тем, чтобы заставлять его интегрироваться с системами управления версиями. Я люблю Changes.app.

22
задан drAlberT 29 September 2009 в 10:23
поделиться

3 ответа

Вы должны сделать подпроцессы демоническими, чтобы они были убиты, когда отец убит (или умрет), в противном случае они будут приняты init (1).

17
ответ дан 29 November 2019 в 04:54
поделиться

Нет, дочерние процессы не обязательно завершаются при уничтожении родителя.

Однако, если у дочернего процесса открыт канал, в который он пишет, а родительский процесс выполняет чтение, он будет получить SIGPIPE при следующей попытке записи в канал, для чего действие по умолчанию - убить его. Так часто бывает на практике.

23
ответ дан 29 November 2019 в 04:54
поделиться

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

Однако вся «группа процессов переднего плана» в «управляющем терминале» может принимать такие сигналы, как SIGINT и SIGQUIT, когда пользователь нажимает ctrl-C, ctrl- \ и т. Д. На этом терминале. Конкретное поведение частично реализуется оболочкой входа в систему (с помощью драйвера tty). Детали могут быть довольно сложными: смотрите здесь и здесь

8
ответ дан 29 November 2019 в 04:54
поделиться
Другие вопросы по тегам:

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