'bunuh java' tidak membunuh java


8

Saya menjalankan debian sekarang dan kadang-kadang saya perlu mematikan java secara manual dari terminal, tetapi ketika saya mencoba kill #pid#atau pkill javatidak ada yang terjadi. Tidak ada output konsol (ok, itu normal) dan java masih berjalan (tidak normal). Satu-satunya cara untuk mematikannya adalah me-restart PC. Ada saran?


apa yang Anda cari adalahkillall java
roottraveller

Jawaban:


13

Mungkin itu mengabaikan sinyal karena suatu alasan. Apakah kamu sudah mencoba kill -9?

Tetapi harap dicatat: kill -9tidak dapat diabaikan atau terjebak. Jika suatu proses melihat sinyal 9, ia tidak punya pilihan selain mati. Itu tidak dapat melakukan hal lain - bahkan tidak dengan anggun membersihkan file-nya.


1
kill -9umumnya merupakan pilihan terakhir. Lebih baik untuk mencoba kill -11kemudian kill -6pertama. Jika kill -11tidak membunuhnya, kill -6biasanya demikian. Coba kill -11dulu, tunggu beberapa / beberapa detik, dan jika prosesnya masih hidup, coba kill -6. Tunggu beberapa detik dan jika masih belum mati, Anda dapat mencoba kill -9.
laebshade

2

Saya sesekali harus membunuh -9. Namun, jika ini terjadi secara teratur, Anda harus memperbaiki masalah yang menyebabkannya. Bunuh -9 berarti ada sesuatu yang jauh.

Secara umum, saya hanya melihat ini terjadi ketika Anda masuk ke mode thrash memori yang serius, yang berarti Anda memerlukan lebih banyak memori sistem, atau Anda memberikan java terlalu banyak memori ketika Anda mulai. Namun, lebih umum, terutama jika Anda sedang mengembangkan hal-hal, Anda dapat melihat ini ketika Anda kehabisan memori "PermGen".

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

Bagaimanapun, itu mungkin karena kesalahan OutOfMemory.


saya pikir itu dia. i havent belum mencobanya, tetapi mesin saya yang menjadi masalah adalah, memiliki 1GB Ram dan java mengalokasikan 512 MB.
Simiil

1
(Loooong tunda komentar ini ...) Jika Anda mengembangkan Java, 1 Gig ram cukup banyak tidak akan memotongnya. Gigit peluru dan tingkatkan setidaknya 2, tembak 4+.
kāgii

0

Baca ini , ini dan ini . Ini akan membantu Anda memahami bagaimana perintah kill bekerja.

Anda dapat mencari java pid dengan:

pgrep -l java atau pidof java

Mungkin Anda memiliki proses zombie pada sistem, dalam hal ini baca di sini


0

Coba ini:

kill -9 $(pgrep Java)

pgrepmengembalikan PID dari proses bernama "Java", dan killmembunuhnya


Ini pada dasarnya harus sama dengan pkill, yang sudah dia gunakan
Michael Mrozek

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.