'kill java' non uccide java


8

Sto eseguendo debian in questo momento e a volte ho bisogno di uccidere java manualmente dal terminale, ma quando provo kill #pid#o pkill javanon succede nulla. Nessun output console (ok, è normale) e java è ancora in esecuzione (non normale). L'unico modo per ucciderlo è riavviare il PC. Eventuali suggerimenti?


quello che stai cercando èkillall java
roottraveller,

Risposte:


13

Forse sta ignorando il segnale per qualche motivo. Ci hai provato kill -9?

Ma attenzione: kill -9non può essere ignorato o intrappolato. Se un processo vede il segnale 9, non ha altra scelta che morire. Non può fare nient'altro - nemmeno ripulire con grazia i suoi file.


1
kill -9è generalmente l'ultima risorsa. E 'meglio provare kill -11poi kill -6prima. Se kill -11non lo uccide, di kill -6solito lo fa. Prova kill -11prima, attendi qualche / alcuni secondi e se il processo è ancora attivo, prova kill -6. Attendi alcuni secondi e se non è ancora morto, puoi provare kill -9.
laebshade,

2

Occasionalmente devo uccidere -9. Tuttavia, se ciò accade regolarmente, è necessario risolvere il problema che lo sta causando. Uccidere -9 significa che qualcosa è lontano.

In generale, vedo che ciò accade solo quando ti trovi in ​​una grave modalità di memoria, il che significa che hai bisogno di più memoria di sistema o stai dando a java troppa memoria quando inizi. Più comunemente, però, specialmente se stai sviluppando cose, puoi vederlo quando esaurisci la memoria "PermGen".

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

In ogni caso, potrebbe essere dovuto a errori OutOfMemory di qualche tipo.


Penso sia così. non l'ho ancora provato, ma la mia macchina su cui si trova il problema ha 1 GB di RAM e Java sta allocando 512 MB.
Simiil,

1
(Ritardo Loooong su questo commento ...) Se stai sviluppando Java, 1 Gig di ram non ha praticamente intenzione di tagliarlo. Mordere il proiettile e passare ad almeno 2, sparare per 4+.
kāgii,

0

Leggi questo , questo e questo . Ti aiuterà a capire come funziona il comando kill.

Puoi cercare java pid con:

pgrep -l java o pidof java

Forse hai processi di zombi sul sistema, in questo caso leggi qui


0

Prova questo:

kill -9 $(pgrep Java)

pgreprestituisce il PID del processo denominato "Java" e lo killuccide


Questo dovrebbe essere essenzialmente lo stesso di pkill, che è quello che sta già usando
Michael Mrozek

-1

Questo dovrebbe funzionare:

killall -9 Java

questo è in realtà corretto ans. si prega di inserire il proprio commento se si effettua il downvoting.
roottraveller,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.