Pendahuluan
Jika proses Linux menjadi tidak responsif atau menghabiskan terlalu banyak sumber daya, Anda mungkin perlu mematikannya.
Sebagian besar proses memiliki metode shutdown sendiri. Sayangnya, proses dapat tidak berfungsi dan tidak membiarkan dirinya dimatikan. Jika proses latar belakang yang berjalan tidak responsif, Anda perlu menggunakan perintah untuk mematikannya.
Berikut panduan lengkap tentang cara mematikan proses Linux menggunakan baris perintah.
Proses Apa yang Dapat Anda Matikan di Linux?
Sebelum mematikan atau menghentikan proses, Anda perlu mempertimbangkan izin.
Seorang pengguna root dapat mematikan semua proses. Anda dapat menambahkan sudo
sebelum perintah untuk menjalankannya sebagai root, atau dapatkan shell root dengan su
. Kemudian jalankan perintahnya.
Membunuh suatu proses mengirimkan pesan penghentian ke proses yang diberikan. Ada beberapa jenis pesan penghentian termasuk:
SIGKILL
– SIGKILL adalah cara pamungkas untuk membunuh suatu proses. Itu akan selalu mematikan proses dan akan mematikan proses secara tiba-tiba, menghasilkan kesalahan fatal. SIGKILL harus selalu bekerja. Jika tidak berfungsi, sistem operasi telah gagal.SIGTERM
– SIGTERM mencoba untuk mematikan proses, tetapi tidak seperti SIGKILL, proses tersebut dapat diblokir atau ditangani. Ini dapat dianggap sebagai cara yang lebih lembut untuk mencoba menghentikan suatu proses.
Untuk sebagian besar tujuan, SIGKILL
akan menjadi metode tercepat dan paling efektif untuk menghentikan proses.
Langkah 1:Lihat Menjalankan Proses Linux
top
perintah adalah cara termudah untuk mendapatkan gambaran lengkap tentang proses yang sedang dijalankan.
Untuk melihat daftar semua proses yang sedang berjalan, gunakan perintah:
top
Perintah atas akan mengungkapkan ID proses dan pengguna, selain jumlah memori dan daya CPU yang digunakan setiap proses.
Untuk mematikan proses langsung dari atas antarmuka, tekan k dan masukkan ID proses.
Untuk keluar dari atas antarmuka, tekan q .
Langkah 2:Temukan Proses untuk Membunuh
Sebelum Anda dapat mematikan suatu proses, Anda harus menemukannya. Ada beberapa cara Anda dapat mencari proses di Linux. Proses dapat ditemukan dengan nama proses (atau sebagian nama proses) atau ID proses (juga dikenal sebagai "pid").
Menemukan Proses dengan Perintah ps
ps
perintah menampilkan informasi yang mirip dengan top
, meskipun tidak akan dalam bentuk antarmuka. Sebagai gantinya, ps
command menyediakan daftar lengkap proses yang berjalan, diformat berdasarkan tag yang Anda tambahkan.
ps <options>
Opsi paling umum untuk ditambahkan ke ini adalah “-aux”:
-a
. Lihat proses semua pengguna, bukan hanya pengguna saat ini.-u
. Berikan informasi mendetail tentang setiap proses-x
. Sertakan proses yang dikendalikan bukan oleh pengguna tetapi oleh daemon.
Misalnya, perintah ps -aux
akan mengembalikan daftar proses terperinci dari semua proses.
Menemukan PID dengan pgrep atau pidof
Perintah Linux pgrep
adalah cara yang lebih kompleks untuk menemukan suatu proses. Perintah ini akan mengembalikan proses berdasarkan kriteria pemilihan tertentu, yang dikenal sebagai pola. Polanya adalah ekspresi reguler, seperti a*
, di mana * akan menjadi wildcard.
pgrep <options> <pattern>
Berikut adalah opsi yang dapat digunakan dengan perintah ini:
-l
. Cantumkan nama proses dan PID.-n
. Kembalikan proses yang terbaru.-o
. Kembalikan proses yang paling lama.-u
. Hanya temukan proses milik pengguna tertentu.-x
. Hanya temukan proses yang sama persis dengan pola yang diberikan.
Perintah pgrep -u root
menampilkan semua proses yang dimiliki oleh root. Perintah pgrep -u root 'a*'
mengembalikan proses yang dimiliki oleh root yang dimulai dengan huruf "a".
pidof
perintah digunakan untuk menemukan ID suatu proses, asalkan Anda mengetahui nama prosesnya.
pidof <options> <program>
Beberapa opsi dapat disertakan, seperti:
-c
. Hanya kembalikan PID dalam satu direktori root.-o
. Abaikan PID tertentu (termasuk proses yang akan dihilangkan setelah tanda).-s
. Hanya kembalikan satu PID.-x
. Juga mengembalikan PID shell yang menjalankan skrip.
Langkah 3:Gunakan Opsi Perintah Bunuh untuk Mengakhiri Proses
Ada beberapa metode berbeda untuk mematikan proses di Linux, tergantung pada apakah Anda mengetahui nama proses yang sedang berjalan, pid proses, atau berapa lama proses telah berjalan.
perintah bunuh semua
killall
perintah digunakan untuk mematikan proses berdasarkan nama. Secara default, ini akan mengirim sinyal SIGTERM. killall
perintah dapat mematikan banyak proses dengan satu perintah.
killall <process>
Beberapa opsi dapat digunakan dengan killall
perintah:
-e
. Temukan kecocokan yang tepat untuk nama proses.-I
. Abaikan huruf besar/kecil saat mencoba menemukan nama proses.-i
. Minta konfirmasi tambahan saat menghentikan proses.-u
. Hanya matikan proses yang dimiliki oleh pengguna tertentu.-v
. Laporkan kembali apakah proses telah berhasil dihentikan.
Selain mematikan proses berdasarkan nama, killall
perintah juga dapat digunakan untuk membunuh berdasarkan usia proses, menggunakan perintah berikut:
-o
. Gunakan flag ini dengan durasi untuk mematikan semua proses yang telah berjalan lebih dari jumlah waktu tersebut.-y
. Gunakan flag ini dengan durasi untuk mematikan semua proses yang telah berjalan kurang dari jumlah waktu tersebut.
killall -o 15m
perintah akan mematikan semua proses yang lebih lama dari 15 menit, sedangkan perintah killall -y 15m
perintah akan mematikan semua proses yang kurang dari 15 menit.
Perintah pkill
pkill
perintahnya mirip dengan pgrep
perintah, karena akan mematikan proses berdasarkan nama proses, di samping faktor kualifikasi lainnya. Secara default, pkill
akan mengirimkan sinyal SIGTERM.
pkill <options> <pattern>
opsi pkill meliputi:
-n
. Hanya matikan proses terbaru yang ditemukan.-o
. Hanya bunuh proses tertua yang ditemukan.-u
. Hanya matikan proses yang dimiliki oleh pengguna yang dipilih.-x
. Hanya matikan proses yang sama persis dengan polanya.-signal
. Kirim sinyal tertentu ke proses, bukan SIGTERM.
bunuh Perintah
Jika Anda mengetahui ID proses, Anda dapat mematikannya dengan perintah:
kill <processID>
kill
perintah akan membunuh satu proses pada satu waktu dengan ID proses yang diberikan. Ini akan mengirim SIGTERM sinyal yang menunjukkan suatu proses untuk berhenti. Ia menunggu program untuk menjalankan rutinitas shutdown-nya.
-signal
perintah dapat digunakan untuk menentukan sinyal yang bukan SIGTERM.
bunuh -9 Perintah Linux
kill -9
adalah perintah yang berguna ketika Anda perlu mematikan layanan yang tidak responsif. Jalankan dengan cara yang sama seperti kill
regular biasa perintah:
kill -9 <processID>
Atau
kill -SIGKILL <processID>
kill -9
perintah mengirim SIGKILL sinyal yang menunjukkan layanan untuk segera dimatikan. Program yang tidak responsif akan mengabaikan kill
perintah, tetapi akan dimatikan setiap kali kill -9
perintah dikeluarkan. Gunakan perintah ini dengan hati-hati. Ini melewati rutinitas shutdown standar sehingga semua data yang belum disimpan akan hilang.
Sistem operasi Anda tidak berjalan dengan benar jika sinyal SIGKILL tidak mematikan layanan.
Perintah atas
top
command menyediakan antarmuka di mana pengguna dapat menavigasi melalui proses yang sedang berjalan.
top
Untuk mematikan proses tertentu, masukkan k
dari antarmuka atas lalu masukkan ID proses yang diinginkan.
perintah xkill
xkill
command adalah jenis perintah khusus yang menutup koneksi server tertentu ke klien.
xkill <resource>
Jika server telah membuka sejumlah proses yang tidak diinginkan, xkill
akan membatalkan proses ini.
Jika xkill
dijalankan tanpa menentukan sumber daya, maka antarmuka akan terbuka yang memungkinkan pengguna memilih jendela untuk ditutup.
Praktek Penting dalam Mengakhiri Proses Linux
- Bila suatu proses tidak dapat ditutup dengan cara lain, proses tersebut dapat dihentikan secara manual melalui baris perintah.
- Untuk mematikan proses di Linux, Anda harus menemukan prosesnya terlebih dahulu. Anda dapat menggunakan
top
,ps
,pidof
ataupgrep
perintah. - Setelah Anda menemukan proses yang ingin Anda matikan, Anda dapat menghentikannya dengan
killall
,pkill
,kill
,xkill
atautop
perintah. - Saat menghentikan proses, Anda dapat mengirim sinyal penghentian SIGHUP, SIGKILL, atau SIGTERM.
- Anda harus memiliki izin untuk menghentikan proses, yang dapat diperoleh melalui penggunaan
sudo
perintah.