Я сейчас запускаю Debian, и иногда мне нужно вручную убить Java из терминала, но когда я пытаюсь kill #pid#
или pkill java
ничего не происходит. Нет вывода на консоль (нормально, это нормально), и Java все еще работает (не нормально). Единственный способ убить его - перезагрузить компьютер. Какие-либо предложения?
kill
process-management
Simiil
источник
источник
killall java
Ответы:
Может быть, это игнорирование сигнала по какой-то причине. Ты пробовал
kill -9
?Но обратите внимание:
kill -9
не может быть проигнорировано или поймано в ловушку. Если процесс видит сигнал 9, у него нет другого выбора, кроме как умереть. Он больше ничего не может сделать - даже изящно не почистить свои файлы.источник
kill -9
как правило, в крайнем случае. Это лучше , чтобы попытатьсяkill -11
затемkill -6
первым. Еслиkill -11
не убивает это,kill -6
обычно делает. Попробуйтеkill -11
сначала, подождите несколько секунд, и, если процесс еще жив, попробуйтеkill -6
. Подождите несколько секунд, и если он все еще не мертв, вы можете попробоватьkill -9
.Мне иногда приходится убивать -9. Однако, если это происходит регулярно, вы должны устранить проблему, которая его вызывает. Убить -9 означает, что что-то не так.
В общем, я вижу, что это происходит только тогда, когда вы попадаете в серьезный режим трэша памяти, что означает, что вам либо нужно больше системной памяти, либо вы даете java слишком много памяти при запуске. Чаще, тем не менее, особенно если вы разрабатываете что-то, вы можете увидеть это, когда у вас заканчивается память «PermGen».
http://www.brokenbuild.com/blog/2006/08/04/java-jvm-gc-permgen-and-memory-options/
В любом случае, это может быть связано с ошибками OutOfMemory.
источник
Прочитайте это , это и это . Это поможет вам понять, как работает команда kill.
Вы можете искать Java PID с:
Может быть, у вас есть процессы зомби в системе, в этом случае читайте здесь
источник
Попробуй это:
pgrep
возвращает PID процесса с именем «Java» иkill
убивает егоисточник
pkill
, что он уже используетЭто должно работать:
источник