ti-enxame.com

'Kill Java' não mata java

Eu estou executando o debian agora e às vezes preciso matar Java manualmente do terminal, mas quando eu tento kill #pid# ou pkill Java nada acontece. Nenhuma saída do console (OK, isso é normal) e Java ainda está sendo executado (não normal). A única maneira de matar é reiniciar o PC. Alguma sugestão?

8
Simiil

Talvez seja ignorando o sinal por algum motivo. Você tentou kill -9?

Mas por favor note: kill -9 Não pode ser ignorado ou preso. Se um processo vê sinal 9, não tem escolha a não ser morrer. Não pode fazer mais nada - nem mesmo limpar graciosamente seus arquivos.

13
Hemant

Eu ocasionalmente tenho que matar -9. No entanto, se isso estiver acontecendo regularmente, você deve consertar o problema que está causando isso. Matar -9 significa que algo está longe.

Em geral, só vejo isso acontecer quando você se aproxima do modo sério Memory Thrash, o que significa que você precisa de mais memória do sistema, ou você está dando Java Muita memória quando você começa. Mais Comumente, porém, especialmente se você está desenvolvendo coisas, você pode ver isso quando ficar sem memória "Permgen".

http://www.brokenbuild.com/blog/2006/08/04/java-jvm-gc-permgen-and-memory-options/

Em qualquer caso, pode ser devido a erros esgotados de algum tipo.

2
kāgii

Tente isto:

kill -9 $(pgrep Java)

pgrep retorna o pid do processo chamado "java" e kill mata

0
MIrra

Leia isto , isto e isto . Isso ajudará você a entender o quão kill works funciona.

Você pode procurar o Java PID com:

pgrep -l Java ou PIDOF JAVA

Talvez você tenha processos zumbis no sistema, nesse caso, lido aqui

0
bitek