Ketika suatu proses berperilaku tidak semestinya, terkadang Anda mungkin ingin menghentikan atau mematikannya. Dalam posting ini, kita akan mengeksplorasi beberapa cara untuk menghentikan proses atau aplikasi dari baris perintah serta dari antarmuka grafis, menggunakan gedit sebagai aplikasi sampel.
Menggunakan karakter baris perintah/penghentian
Ctrl + C
Satu masalah saat menjalankan gedit dari baris perintah (jika Anda tidak menggunakan gedit & ) adalah bahwa itu tidak akan membebaskan prompt, sehingga sesi shell diblokir. Dalam kasus seperti itu, Ctrl+C (tombol Kontrol dalam kombinasi dengan 'C') sangat berguna. Itu akan menghentikan gedit dan semua pekerjaan akan hilang (kecuali file telah disimpan). Ctrl+C mengirimkan SIGINT sinyal ke gedit . Ini adalah sinyal berhenti yang tindakan defaultnya adalah menghentikan proses. Ini menginstruksikan shell untuk menghentikan gedit dan kembali ke loop utama, dan Anda akan mendapatkan prompt kembali.
$ gedit
^C
Ctrl + Z
Ini disebut karakter penangguhan . Ia mengirimkan SIGTSTP sinyal untuk diproses. Ini juga merupakan sinyal berhenti, tetapi tindakan defaultnya bukanlah mematikan tetapi menghentikan proses.
Itu akan berhenti (membunuh/mengakhiri) gedit dan kembalikan prompt shell.
$ gedit
^Z
[1]+ Stopped gedit
$
Setelah proses dihentikan (dalam hal ini, gedit ), tidak mungkin untuk menulis atau melakukan apa pun di gedit . Di latar belakang, prosesnya menjadi pekerjaan . Ini dapat diverifikasi oleh jobs perintah.
$ jobs
[1]+ Stopped gedit
jobs memungkinkan Anda untuk mengontrol beberapa proses dalam satu sesi shell. Anda dapat menghentikan, melanjutkan, dan memindahkan pekerjaan ke latar belakang atau latar depan sesuai kebutuhan.
Mari kita lanjutkan gedit di latar belakang dan membebaskan Prompt untuk menjalankan perintah lain. Anda dapat melakukannya menggunakan bg perintah, diikuti dengan ID pekerjaan (perhatikan [1] dari output jobs di atas. [1] adalah ID pekerjaan).
$ bg 1
[1]+ gedit &
Ini mirip dengan memulai gedit dengan &, :
$ gedit & Menggunakan bunuh
kill memungkinkan kontrol yang baik atas sinyal, memungkinkan Anda memberi sinyal pada suatu proses dengan menentukan nama sinyal atau nomor sinyal, diikuti dengan ID proses, atau PID.
Apa yang saya suka tentang kill adalah bahwa ia juga dapat bekerja dengan ID pekerjaan. Mari kita mulai gedit di latar belakang menggunakan gedit & . Dengan asumsi saya memiliki ID pekerjaan gedit dari jobs perintah, mari kita kirim SIGINT ke gedit :
$ kill -s SIGINT %1
Perhatikan bahwa ID pekerjaan harus diawali dengan % , atau kill akan menganggapnya sebagai PID.
kill dapat bekerja tanpa menentukan sinyal secara eksplisit. Dalam hal ini, tindakan default adalah mengirim SIGTERM , yang akan menghentikan proses. Jalankan kill -l untuk membuat daftar semua nama sinyal, dan gunakan man kill perintah untuk membaca halaman manual.
Menggunakan killall
Jika Anda tidak ingin menentukan ID pekerjaan atau PID, killall memungkinkan Anda menentukan proses berdasarkan nama. Cara paling sederhana untuk menghentikan gedit menggunakan killall adalah:
$ killall gedit
Ini akan mematikan semua proses dengan nama gedit . Seperti kill , sinyal defaultnya adalah SIGTERM . Ia memiliki opsi untuk mengabaikan huruf besar/kecil menggunakan -I :
$ gedit &
[1] 14852
$ killall -I GEDIT
[1]+ Terminated gedit
Untuk mempelajari lebih lanjut tentang berbagai bendera yang disediakan oleh killall (seperti -u , yang memungkinkan Anda untuk mematikan proses milik pengguna) periksa halaman manual (man killall )
Menggunakan xkill
Pernahkah Anda mengalami masalah saat pemutar media, seperti VLC, berwarna abu-abu atau macet? Sekarang Anda dapat menemukan PID dan mematikan aplikasi menggunakan salah satu perintah yang tercantum di atas atau menggunakan xkill .

xkill memungkinkan Anda untuk membunuh jendela menggunakan mouse. Cukup jalankan xkill di terminal, yang akan mengubah kursor mouse menjadi x atau ikon tengkorak kecil. Klik x pada jendela yang ingin Anda tutup. Hati-hati menggunakan xkill , meskipun—seperti yang dijelaskan oleh halaman manualnya, ini bisa berbahaya. Anda telah diperingatkan!
Lihat halaman manual dari setiap perintah untuk informasi lebih lanjut. Anda juga dapat menjelajahi perintah seperti pkill dan pgrep .