'kill java' no mata a java

8

Estoy ejecutando Debian en este momento y, a veces, necesito matar a Java manualmente desde el terminal, pero cuando lo intento kill #pid#o pkill javano sucede nada. No hay salida de consola (ok, eso es normal) y Java todavía se está ejecutando (no es normal). La única forma de matarlo es reiniciando la PC. ¿Alguna sugerencia?

Simiil
fuente
lo que estás buscando eskillall java
roottraveller

Respuestas:

13

Tal vez está ignorando la señal por alguna razón. ¿Lo intentaste kill -9?

Pero tenga en cuenta: kill -9no puede ser ignorado o atrapado. Si un proceso ve la señal 9, no tiene más remedio que morir. No puede hacer nada más, ni siquiera limpiar con gracia sus archivos.

Hemant
fuente
1
kill -9Generalmente es un último recurso. Es mejor tratar kill -11a continuación, kill -6en primer lugar. Si kill -11no lo mata, kill -6generalmente lo hace. Intente kill -11primero, espere unos pocos segundos, y si el proceso sigue vivo, inténtelo kill -6. Espere varios segundos y si aún no está muerto, puede intentarlo kill -9.
laebshade
2

De vez en cuando tengo que matar -9. Sin embargo, si esto sucede regularmente, debe solucionar el problema que lo está causando. Matar -9 significa que algo está muy lejos.

En general, solo veo que esto suceda cuando entras en un modo de memoria grave, lo que significa que necesitas más memoria del sistema o le estás dando demasiada memoria a Java cuando comienzas. Sin embargo, más comúnmente, especialmente si estás desarrollando cosas, puedes ver esto cuando te quedas sin memoria "PermGen".

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

En cualquier caso, puede deberse a errores de OutOfMemory de algún tipo.

kāgii
fuente
Creo que eso es todo. Todavía no lo he probado, pero mi máquina en la que se encuentra el problema tiene 1 GB de RAM y Java está asignando 512 MB.
Simiil
1
(Mucho retraso en este comentario ...) Si está desarrollando Java, 1 Gig de ram prácticamente no lo va a cortar. Muerde la bala y mejora al menos a 2, dispara para 4+.
kāgii
0

Lee esto , esto y esto . Le ayudará a comprender cómo funciona el comando kill.

Puede buscar el Java pid con:

pgrep -l java o pidof java

Tal vez tienes procesos zombies en el sistema, en ese caso lee aquí

bitek
fuente
0

Prueba esto:

kill -9 $(pgrep Java)

pgrepdevuelve el PID del proceso llamado "Java" y lo killmata

Mirra
fuente
Esto debería ser esencialmente lo mismo pkill, que es lo que ya está usando
Michael Mrozek
-1

Esto debería funcionar:

killall -9 Java
John Militer
fuente
esto es realmente correcto ans. por favor ponga su comentario si vota abajo.
roottraveller