История изменений
Исправление firkax, (текущая версия) :
Ты это серьёзно? Я думал это любой не-нуб знает.
Если процесс завершается то родитель может собрать код его завершения через wait(). Этот системный вызов привязан к pid процесса-потомка, соответственно pid остаётся занят до тех пор, пока родитель не скажет что ему эта запись больше не нужна. Память там разумеется никакая не выделена уже, и процесса нет. Это просто занятый слот чтобы вернуть его в wait() родителю.
завершить процесс штатно не удалось
Нет, это полностью штатное завершение как раз, только родитель не сразу отреагировал (или в родителе баг и он не собирает эти данные).
Если родителю эти данные не нужны, то он должен сделать signal(SIGCHLD, SIG_IGN) и тогда слоты его потомков будут освобождаться сразу (но и wait() на уже завершившегося потомка он тогда сделать не сможет).
Исправление firkax, :
Ты это серьёзно? Я думал это любой не-нуб знает.
Если процесс завершается то родитель может собрать код его завершения через wait(). Этот системный вызов привязан к pid процесса-потомка, соответственно pid остаётся занят до тех пор, пока родитель не скажет что ему эта запись больше не нужна. Память там разумеется никакая не выделена уже, и процесса нет. Это просто занятый слот чтобы вернуть его в wait() родителю.
завершить процесс штатно не удалось
Нет, это полностью штатное завершение как раз, только родитель не сразу отреагировал (или в родителе баг и он не собирает эти данные).
Исходная версия firkax, :
Ты это серьёзно? Я думал это любой не-нуб знает.
Если процесс завершается то родитель может собрать код его завершения через wait(). Этот системный вызов привязан к pid процесса-потомка, соответственно pid остаётся занят до тех пор, пока родитель не скажет что ему эта запись больше не нужна. Память там разумеется никакая не выделена уже, и процесса нет. Это просто занятый слот чтобы вернуть его в wait() родителю.