В Mac OS X 10.6 я иногда получаю процессы, которые отображаются в "ps" как "E", что на странице руководства означает, что они "пытаются выйти", но не будут. «kill -9» не работает и не ждет. Есть ли способ избавиться от них? Мне обычно все равно, но иногда они блокируют вход в док.
2 ответа
У меня также есть проблема с Mac OS X 10.7.5. В моем случае процесс, пытающийся выйти, является моно. Он "потерял" своего родителя (должен был быть bash или, возможно, Terminal), поэтому нет способа убить родителя. killall даже не может найти процесс; Монитор активности также не может. Проблема в том, что этот конкретный процесс захватил IP-порт, и поэтому я не могу перезапустить приложение Mono, которое я запускал, так как этот порт заблокирован до завершения этого процесса. Можно надеяться, что время снятия блокировки порта истечет, но этого, очевидно, не произойдет.
Аналогичный (возможно, дублирующий) вопрос был задан здесь: как убить процесс в Mac OS X и не запускать его самостоятельно, а также на ServerFault: https://serverfault.com/questions/85799/how-to-kill -an-выход из -процесс-на-OS-X-состояние-е
Инструкции там тоже не полезны. Убийство launchd и даже вход / выход от этого пользователя не имеет никакого эффекта. К сожалению, похоже, что в этом случае будет работать только перезагрузка.
Также обратите внимание, что это отличается от процесса "зомби".
Я подал отчет об ошибке в Apple, но я предполагаю, что они проигнорируют его (поскольку проблема может быть связана либо с Mono и / или приложением, которое я использую, и с малым отношением к самой Mac OS X).
Вы получаете ошибку при попытке kill
? Что если указать PID, например kill 12345
?
Кроме того, вы можете попробовать killall, как это: killall program
но имейте в виду, что она убьет все, что соответствует, так что будьте немного конкретны с именем программы, просто не помещайте killall fi
или что-то, что может соответствовать более чем одной программе, иначе у вас могут быть неожиданные результаты.