Saya memiliki aplikasi yang tidak akan mati: itu hilang dari dermaga, tetapi jendelanya tetap ada (dengan bola pantai, jika saya arahkan mouse ke atasnya). Tidak menggunakan CPU, tapi saya ingin itu pergi.
Apakah ada sesuatu yang lebih kuat dari "Force Quit", untuk benar- benar mematikan aplikasi?
lion
macos
applications
Ken
sumber
sumber
SIGTERM
, dan hal yang sama dalam dialog dan Monitor Aktivitas.Jawaban:
Jika Anda tahu nama aplikasi, Anda dapat memeriksa di Activity Monitor untuk melihat apakah itu masih berjalan di sana dan mencoba Force Quit-nya. Jika itu tidak berhasil, perhatikan ID proses aplikasi (pid). Buka Terminal dan ketik
kill [pid]
, ganti "[pid]" dengan nomor yang Anda catat sebelumnya. Jika itu tidak berhasil, cobakill -3 [pid]
dan jika itu tidak berhasilkill -9 [pid]
. Jika proses ini dimiliki oleh user yang berbeda (ini tidak mungkin), Anda mungkin perlu menggantikill
dengansudo kill
dan ketik password bila diminta.Jika aplikasi tidak muncul di Activity Monitor atau Anda tidak bisa
kill
melakukannya, jendela itu mungkin macet di tempat lain dan aplikasi itu tidak berjalan lagi. Dalam hal ini, kadang-kadang (tidak selalu) dapat bekerja kekillall SystemUIServer
ataukillall Dock
.Jika tidak ada yang berhasil, Anda harus keluar dan kembali atau reboot. Beberapa kali saya sampai pada titik ini, aplikasi ini sangat macet sehingga tidak bisa keluar atau dimatikan, jadi saya harus mem-boot ulang harddisk.
sumber
sudo
, meskipun prosesnya adalah milik saya), tanpa perubahan. Apakah akankillall SystemUIServer
memengaruhi salah satu aplikasi terbuka saya yang lain, seperti lupa posisi jendela?kill -l
, -3 adalah SIGQUIT, dan -9 adalah SIGKILL ("non-catchable, non-ignorable kill").man kill
(yang ada di 10 besar perintah UNIX terbaik yang pernah ada) untuk melihat semuanya.Jendela paksa berhenti
killall
,, dankill
semua proses pengiriman sinyal TERM secara default. Anda dapat menggunakankillall -kill
jika itu tidak berhasil.Jika Anda menjalankan
sudo dtrace -n 'proc:::signal-send /pid/ { printf("%s -%d %d",execname,args[2],args[1]->pr_pid); }'
dan keluar beberapa aplikasi dari jendela paksa keluar, sinyal biasanya ditampilkan sebagai -15 (TERM). Tetapi ketika Anda keluar dari proses latar belakang (atau aplikasi yang tidak ditampilkan di Dock) dari Activity Monitor, sinyal biasanya ditampilkan sebagai -9 (KILL).sumber
SIGKILL
berfungsi, aplikasinya mungkin dalam kondisi tidur tanpa gangguan , dan benar-benar tidak ada yang dapat Anda lakukan (sebelum mem-boot ulang).Saya pernah mengalami situasi di mana Force Quit, Monitor Aktivitas
kill
, dan metode lain tidak berfungsi, dan Mac saya tidak bisa dimatikan karena itu.Dalam hal ini,
sudo shutdown -r now
bekerja ketika tidak ada yang lain, dan mungkin lebih baik daripada melakukan shutdown keras melalui tombol power.sumber
Seperti dalam jawaban di atas, cara terkuat untuk menghentikan proses apa pun adalah
SIGKILL
, miskill -9 process_id
.Namun, ada proses yang tidak mungkin
Force Quit
atau tidak mungkin dilakukankill
. Mereka disebut sebagaizombie
proses.Berikut ini skrip pendek yang akan membuat
zombie
proses selama dua menit:Jalankan skrip di atas di Terminal dan Anda akan mendapatkan output, seperti selanjutnya:
Jika Anda memeriksa kolom status untuk proses yang tidak dapat diselesaikan (dalam kasus ini: 50571) Anda melihat
Z
benderanya, apa artinyazombie
.Anda dapat mencoba mengirim
kill
sinyal apa pun (mis.kill -9 50571
) Dan prosesnya akan tetap ada. Bagaimanapun, itu tidak terlalu menyakitkan sistem Anda, karena sebenarnya tidak ada - hanya menempati tabel proses.Dalam contoh di atas, dalam 120 detik akan dihapus.
sumber
Inilah yang harus Anda lakukan:
Proses seperti ini sebaiknya dihapus dalam safe mode jika Anda akan mencoba mencopot pemasangan.
Ceria, Bryan
sumber