Saya menjalankan program di terminal yang tidak dapat saya hindari dengan Ctrl –C dan yang ingin saya bunuh. Bagaimana saya bisa menemukan PID-nya?
Jawaban Terbaik
Buka terminal lain dan jalankan ps ax | grep foo
di mana foo adalah nama program yang tidak responsif. Ini akan mengembalikan baris output yang terlihat seperti ini:
$ ps ax | grep firefox
2222 ? S 0:00 /bin/sh /usr/lib/firefox-3.6.9/firefox
2231 ? Sl 514:36 /usr/lib/firefox-3.6.9/firefox-bin
30290 pts/2 S+ 0:00 grep --color=auto firefox
Kolom pertama dari setiap baris output adalah angka yang mewakili ID Proses dari program yang dicocokkan dengan grep
(Anda dapat dengan aman mengabaikan yang terakhir, yang mewakili grep
sendiri.
Untuk menghentikan proses pelanggaran, lakukan:kill pid
di mana pid adalah ID Proses program. Anda mungkin harus menggunakan penilaian Anda tentang kecocokan mana yang harus kill
ed, atau Anda bisa menggunakan top
sebagai gantinya. Menggunakan kill
dengan sendirinya mengirimkan SIGTERM, yang harus Anda coba terlebih dahulu karena memungkinkan program untuk membersihkan dirinya sendiri dengan benar. Jika SIGTERM gagal, coba SIGHUP, yang merupakan obat yang lebih kuat:kill -HUP pid
. Jika semuanya gagal, kirim SIGKILL. Namun, Anda hanya boleh melakukannya sebagai upaya terakhir, karena SIGKILL menyebabkan kernel segera menghentikan proses tanpa kemungkinan untuk dibersihkan. Hal ini terkadang dapat mengakibatkan kerusakan data atau masalah lainnya. Jadi sekali lagi, kirim SIGKILL saja sebagai pilihan terakhir. Untuk melakukannya, lakukan kill -KILL pid
atau kill -9 pid
.
Jika Anda menjalankan antarmuka grafis, tentu saja, Anda tidak perlu membodohi hal-hal baris perintah yang gila ini untuk menyelesaikan pekerjaan. Buka saja “System Monitor”, navigasikan ke tab Processes, pilih proses yang ingin Anda hentikan (Hm, mungkinkah yang menggunakan 90% CPU?) dan klik kanan. Karena prosesnya sudah berhenti, (itu masalahnya, kan?) pilih End Process atau Kill Process dari menu yang dihasilkan.
Kredit ke koanhead