LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

Ты это серьёзно? Я думал это любой не-нуб знает.

Если процесс завершается то родитель может собрать код его завершения через wait(). Этот системный вызов привязан к pid процесса-потомка, соответственно pid остаётся занят до тех пор, пока родитель не скажет что ему эта запись больше не нужна. Память там разумеется никакая не выделена уже, и процесса нет. Это просто занятый слот чтобы вернуть его в wait() родителю.

завершить процесс штатно не удалось

Нет, это полностью штатное завершение как раз, только родитель не сразу отреагировал (или в родителе баг и он не собирает эти данные).

Если родителю эти данные не нужны, то он должен сделать signal(SIGCHLD, SIG_IGN) и тогда слоты его потомков будут освобождаться сразу (но и wait() на уже завершившегося потомка он тогда сделать не сможет).

Исправление firkax, :

Ты это серьёзно? Я думал это любой не-нуб знает.

Если процесс завершается то родитель может собрать код его завершения через wait(). Этот системный вызов привязан к pid процесса-потомка, соответственно pid остаётся занят до тех пор, пока родитель не скажет что ему эта запись больше не нужна. Память там разумеется никакая не выделена уже, и процесса нет. Это просто занятый слот чтобы вернуть его в wait() родителю.

завершить процесс штатно не удалось

Нет, это полностью штатное завершение как раз, только родитель не сразу отреагировал (или в родителе баг и он не собирает эти данные).

Исходная версия firkax, :

Ты это серьёзно? Я думал это любой не-нуб знает.

Если процесс завершается то родитель может собрать код его завершения через wait(). Этот системный вызов привязан к pid процесса-потомка, соответственно pid остаётся занят до тех пор, пока родитель не скажет что ему эта запись больше не нужна. Память там разумеется никакая не выделена уже, и процесса нет. Это просто занятый слот чтобы вернуть его в wait() родителю.