Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I am running debian right now and sometimes I need to kill java manually from the terminal, but when I try kill #pid# or pkill java nothing happens. No console output (ok, that's normal) and java is still running (not normal). The only way to kill it is to restart the PC. Any suggestions?

share|improve this question
add comment

4 Answers

up vote 9 down vote accepted

Maybe its ignoring the signal for some reason. Did you try kill -9?

But please note: kill -9 cannot be ignored or trapped. If a process sees signal 9, it has no choice but to die. It can't do anything else - not even gracefully clean up its files.

share|improve this answer
    
kill -9 is generally a last resort. It's better to try kill -11 then kill -6 first. If kill -11 doesn't kill it, kill -6 usually does. Try kill -11 first, wait a few/several seconds, and if the process is still alive, try kill -6. Wait several seconds and if it still isn't dead, you can then try kill -9. –  laebshade Dec 28 '12 at 22:01
add comment

I occasionally have to kill -9. However, if this is happening regularly, you should fix the issue that is causing it. Kill -9 means something is way off.

In general, I only see this happen when you get yourself into serious memory thrash mode, which means you either need more system memory, or you're giving java too much memory when you start. More commonly, though, especially if you're developing stuff, you can see this when you run out of "PermGen" memory.

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

In any case, it may be due to OutOfMemory errors of some sort.

share|improve this answer
    
i think that is it. i havent tried it yet, but my machine on which the problem is, has 1GB Ram and java is allocating 512 MB. –  Simiil Aug 19 '10 at 6:43
1  
(Loooong delay on this comment...) If you're developing Java, 1 Gig of ram is pretty much not going to cut it. Bite the bullet and upgrade to at least 2, shoot for 4+. –  kāgii Sep 2 '10 at 13:45
add comment

Read this, this and this . It will help you understand how kill command works.

You can search for the java pid with:

pgrep -l java or pidof java

Maybe you have zombie processes on the system, in that case read here

share|improve this answer
add comment

Try this:

kill -9 $(pgrep Java)

pgrep returns the PID of the process named "Java", and kill kills it

share|improve this answer
    
This should be essentially the same as pkill, which is what he's already using –  Michael Mrozek Dec 29 '12 at 2:39
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.