Saya sedang mengerjakan kode yang berat komputasi - untuk saat ini - banyak crash, tapi saya masih mengerjakannya :) Ketika crash, saya tidak bisa menutup jendela GUI; Saya harus membuka shell dan membunuh proses -9.
Ini adalah proses Java dan mudah ditemukan:
nkint@zefiro:~$ ps aux | grep java
nkint 2705 16.6 1.0 460928 43680 ? Sl 12:23 0:08 /usr/lib/jvm/java-6-sun-1.6.0.26/bin/java -Djava.library.path=something something
nkint 2809 0.0 0.0 4012 776 pts/0 S+ 12:24 0:00 grep --color=auto java
nkint@zefiro:~$ kill -9 2705
Sekarang mudah tetapi cukup tugas mekanis. Jadi biasanya saya menunggu sekitar 7-8 proses crash, dan kemudian kill -9
masing-masing.
Saya ingin melakukan ini secara otomatis. Saya pikir seharusnya mudah untuk mem-pipe beberapa perintah untuk mengambil id dari hasil (n-1) ps aux | grep java
dan membunuhnya, tetapi saya tidak tahu harus mulai dari mana.
Adakah yang bisa memberi saya petunjuk?
killall java
tidak bekerja untuk saya karena alasan acak yang tidak bisa saya selesaikan. The-9
parameter merawat itu. Terima kasih.java
.Buka editor teks dan simpan skrip bash pendek ini di direktori home Anda sebagai 'killjava'
Kemudian
chmod u+x ~/killjava
di terminal sehingga Anda dapat menjalankan file.Kemudian Anda bisa menelepon
~/killjava
dari terminal dan proses Java Anda akan mati. Anda mungkin ingin mempertimbangkan sumber daya lain apa saja yang akan terpengaruh oleh pembunuhan Anda terhadap proses Java (seperti koneksi database). Misalnya, mungkinkill -15
akan lebih tepat - lihat penjelasannya di sini .sumber
Ini adalah pendekatan alternatif, berdasarkan jawaban @ Dean sebelumnya.
Ini menggunakan jps untuk mengidentifikasi proses java.
MainClass adalah kelas dalam program java Anda yang berisi metode utama.
sumber