11

Как убить процесс зомби или найти его родительский процесс на Mac с помощью терминала?

3 ответа3

14

Hack Saw говорит:

К сожалению, похоже, что убийство зомби - это убийство родителя, и если родителем является /sbin /launchd, вы можете убить его только с перезагрузкой.

Было бы очень плохой идеей убить launchd , но вы можете сказать это HUP.

Попробуйте sudo kill -s HUP 1

Это приведет к повторной инициализации launchd без перезапуска. Это работало для меня в прошлом (по сравнению с удалением записей зомби).

3

К сожалению, похоже, что убийство зомби - это убийство родителя, и если родителем является /sbin /launchd, вы можете убить его только с перезагрузкой.

Я получаю зомби от использования Xcode и останавливаю симулятор, и он передает зомби моему личному /sbin /launchd, который не исчез, когда я вышел из системы.

Команда ps -xo pid, ppid, stat, покажет вам ваши процессы с их родительским идентификатором во втором столбце.

1

процессы зомби уже мертвы и не могут быть убиты. Они должны быть удалены из таблицы процессов автоматически, когда родительский процесс умирает.

Они не замедляют работу вашей машины, и вы можете оставить их там (это просто записи в таблице процессов).

Существует максимальное количество процессов (вы можете проверить это с помощью sysctl kern.maxproc), и процессы-зомби уменьшат его (по мере их подсчета).

Если вы достигнете этого предела, вы не сможете создавать новые процессы и будете вынуждены перезагрузиться.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .