Bagaimana cara saya membunuh proses yang tidak akan mati?

18

Saya tidak dapat mematikan proses menggunakan salah satu teknik yang saya ketahui ("Force Quit" di Activity Monitor top,, killalldari Terminal) dan bertanya-tanya apakah ada beberapa langkah tambahan yang bisa saya ambil.

masukkan deskripsi gambar di sini

~ $ sudo killall -KILL 77439
Password:
No matching processes were found
~ $ killall -KILL 77439
No matching processes belonging to you were found
~ $ killall 77439
No matching processes belonging to you were found
~ $ killall Mathematica
No matching processes belonging to you were found

FWIW prosesnya adalah "Mathematica" yang saya tidak dapat meluncurkan kembali, Berhenti, atau Force Quit, atau sampel, baik dengan nama atau PID, dan tampaknya memiliki beberapa efek samping yang aneh (tangkapan layar tidak muncul, tidak dapat mengosongkan sampah, dan bahkan tidak dapat mematikan sistem).

Apakah ada langkah-langkah tambahan yang dapat diambil untuk benar- benar membunuh proses yang berperilaku buruk?

orome
sumber
Dapatkah Anda menemukan proses ini menggunakan top di terminal?
Pierobon
1
Lain kali jika masalah ini terjadi, tambahkan hasil dari ps alx | egrep '[ /](PID|Math)'pertanyaan Anda.
dan
@danielAzuelos: Tip yang bagus. Akan melakukan.
orome

Jawaban:

35

killallmembunuh dengan nama proses (yang pasti bukan 77439 dan kemungkinan besar juga bukan Mathematica). Anda dapat menggunakan kill 77439atau (jika ini gagal) kill -9 77439sebagai gantinya (tetapi jika prosesnya benar-benar macet, hanya reboot yang akan menyelesaikan masalah).

Juga, karena cara pengiriman / pemrosesan sinyal (seperti kill -9) bekerja di Unix / OS X, ada situasi di mana suatu proses tidak akan dapat diraih. Salah satu contoh khas untuk ini adalah jika suatu proses macet saat mengakses beberapa perangkat eksternal dan tidak pernah benar-benar mendapatkan kontrol kembali. Dalam situasi seperti itu, reboot adalah satu-satunya cara untuk menghilangkan proses tersebut.

nohillside
sumber
2
Membunuh suara seperti itu harus berjalan seperti yang dikatakan, tetapi sebenarnya itu harus disebut 'mengirim sinyal interupsi', karena ada banyak jenis membunuh yang dapat dilakukan. Menggunakan parameter -9pada dasarnya menggunakan bentuk terminasi yang paling kuat dengan prasangka ekstrem yang tersedia ...
stuffe
1
$ kill -9 PID selalu melakukan trik untukku, walaupun itu invasif.
Pierobon
Jadi sepertinya Mathematica hanya berperilaku buruk. Pada akhirnya saya harus memaksa shutdown (shutdown reguler digantung). Saya tidak memiliki masalah ini dengan aplikasi lain, tetapi Mathematica telah memilikinya lebih dari sekali.
orome
Berikut adalah beberapa detail tentang apa yang dapat menyebabkan proses macet.
GDP2
Saya akan membunuh -9 kedua. Satu-satunya saat saya mengalami "sudo kill -9" gagal adalah pada sistem yang benar-benar borked dan perlu di-reboot.
MikeP
-3

Menjalankan macOS Mojave 10.14 Beta 1, saya harus menjalankan yang berikut untuk mendapatkan traksi:

sudo xcscontrol --reset   
Ed Salter
sumber
2
Apa sebenarnya yang dilakukan / mengapa ini diperlukan?
pkamb
xcscontrolitu Kontrol Server Xcode, dan tampaknya tidak memiliki korelasi terhadap proses berperilaku buruk?
Matt Sephton