Как убить процесс зомби или найти его родительский процесс на Mac с помощью терминала?
killсигналов не работает для зомби IIRC. У меня было это раньше.
Как убить процесс зомби или найти его родительский процесс на Mac с помощью терминала?
killсигналов не работает для зомби IIRC. У меня было это раньше.
Ответы:
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), и процессы-зомби уменьшат его (по мере их подсчета).
Если вы достигнете этого предела, вы не сможете создавать новые процессы и будете вынуждены перезагрузиться.