Как убить процесс зомби или найти его родительский процесс на Mac с помощью терминала?
3 ответа
Hack Saw говорит:
К сожалению, похоже, что убийство зомби - это убийство родителя, и если родителем является /sbin /launchd, вы можете убить его только с перезагрузкой.
Было бы очень плохой идеей убить launchd
, но вы можете сказать это HUP.
Попробуйте sudo kill -s HUP 1
Это приведет к повторной инициализации launchd
без перезапуска. Это работало для меня в прошлом (по сравнению с удалением записей зомби).
К сожалению, похоже, что убийство зомби - это убийство родителя, и если родителем является /sbin /launchd, вы можете убить его только с перезагрузкой.
Я получаю зомби от использования Xcode и останавливаю симулятор, и он передает зомби моему личному /sbin /launchd, который не исчез, когда я вышел из системы.
Команда ps -xo pid, ppid, stat, покажет вам ваши процессы с их родительским идентификатором во втором столбце.
процессы зомби уже мертвы и не могут быть убиты. Они должны быть удалены из таблицы процессов автоматически, когда родительский процесс умирает.
Они не замедляют работу вашей машины, и вы можете оставить их там (это просто записи в таблице процессов).
Существует максимальное количество процессов (вы можете проверить это с помощью sysctl kern.maxproc
), и процессы-зомби уменьшат его (по мере их подсчета).
Если вы достигнете этого предела, вы не сможете создавать новые процессы и будете вынуждены перезагрузиться.