'tuer java' ne tue pas java

8

J'utilise debian en ce moment et parfois j'ai besoin de tuer java manuellement depuis le terminal, mais quand j'essaye kill #pid#ou pkill javarien ne se passe. Aucune sortie console (ok, c'est normal) et java fonctionne toujours (pas normal). La seule façon de le tuer est de redémarrer le PC. Aucune suggestion?

Simiil
la source
ce que vous cherchez c'estkillall java
roottraveller

Réponses:

13

Peut-être que c'est ignorer le signal pour une raison quelconque. As-tu essayé kill -9?

Mais veuillez noter: kill -9ne peut être ignoré ou pris au piège. Si un processus voit le signal 9, il n'a pas d'autre choix que de mourir. Il ne peut rien faire d'autre - pas même nettoyer gracieusement ses fichiers.

Hemant
la source
1
kill -9est généralement un dernier recours. Il vaut mieux essayer kill -11ensuite kill -6. Si kill -11ne le tue pas, le fait kill -6généralement. Essayez d' kill -11abord, attendez quelques secondes, et si le processus est toujours en cours, essayez kill -6. Attendez quelques secondes et s'il n'est toujours pas mort, vous pouvez alors essayer kill -9.
laebshade
2

Je dois parfois tuer -9. Cependant, si cela se produit régulièrement, vous devez résoudre le problème qui en est la cause. Tuer -9 signifie que quelque chose est loin.

En général, je ne vois cela se produire que lorsque vous vous mettez en mode de thrash de mémoire sérieux, ce qui signifie que vous avez besoin de plus de mémoire système ou que vous donnez trop de mémoire à Java lorsque vous démarrez. Plus généralement, cependant, surtout si vous développez des trucs, vous pouvez le voir lorsque vous manquez de mémoire "PermGen".

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

Dans tous les cas, cela peut être dû à des erreurs OutOfMemory de quelque sorte.

kāgii
la source
Je pense que c'est ça. je ne l'ai pas encore essayé, mais ma machine sur laquelle le problème est, a 1 Go de RAM et java alloue 512 Mo.
Simiil
1
(Loooong délai sur ce commentaire ...) Si vous développez Java, 1 Go de RAM ne va pratiquement pas le couper. Mordez la balle et passez à au moins 2, tirez pour 4+.
kāgii
0

Lisez ceci , ceci et ceci . Il vous aidera à comprendre le fonctionnement de la commande kill.

Vous pouvez rechercher le pid java avec:

pgrep -l java ou pidof java

Peut-être que vous avez des processus zombies sur le système, dans ce cas, lisez ici

bitek
la source
0

Essaye ça:

kill -9 $(pgrep Java)

pgreprenvoie le PID du processus nommé "Java" et le killtue

MIrra
la source
Cela devrait être essentiellement le même que pkillcelui qu'il utilise déjà
Michael Mrozek
-1

Cela devrait fonctionner:

killall -9 Java
John Militer
la source
c'est en fait correct ans. veuillez mettre votre commentaire en cas de vote négatif.
roottraveller