Perintah killall: menghentikan proses berdasarkan nama, sinyal -9, dan memasang psmisc

Lingkungan ujiKeluarga RHELAlmaLinux 9.8psmisc 23.4akun rootDebian 12 · psmisc 23.6 Akun biasa (menjalankan killall)
Perintah Proses · Penjadwalan TugaskillallLokasi/usr/bin/killallDiperiksa 2026-11-03

Perintah killall adalah perintah Linux yang memilih proses yang sedang berjalan berdasarkan nama program, bukan nomor proses (PID), lalu mengirimkan sinyal ke proses tersebut; jika Anda tidak menentukan sinyal, perintah ini mengirim SIGTERM (menurut manual resmi). Karena perintah ini menghentikan sekaligus semua proses dengan nama yang sama, di server AlmaLinux 9 kami lebih dulu memeriksa dengan pgrep dan ps empat proses yang dijalankan dari salinan sleep dengan nama lain; untuk file eksekusi yang namanya lebih dari 15 karakter, hanya 15 karakter pertama yang tersisa di nama proses.

Kami menjalankan killall hanya pada proses xxsleep yang dijalankan untuk pengujian dengan akun biasa di server Debian 12. Kotak hasil menampilkan output rpm, pgrep, ps, pidof, cat, dan kill yang dijalankan dengan akun root di server AlmaLinux 9.8, serta output killall yang dijalankan di server Debian 12. Nomor proses (PID), nama proses, path file eksekusi, dan nama akun diganti dengan nilai contoh.

1️⃣ Memasang perintah killall

  • ↪️ Paket psmisc dan pemeriksaan versi

killall termasuk dalam paket psmisc. Saat kami memeriksa dengan rpm paket pemilik /usr/bin/killall di server AlmaLinux 9.8, muncul versi psmisc 23.4.

rpm -qf --qf '%{NAME} %{VERSION}\n' /usr/bin/killall
psmisc 23.4

Daftar file dari paket yang sama, yang dilihat dengan rpm -ql, juga berisi pstree dan fuser.

Jika muncul [command not found], yang berarti perintah tidak ditemukan, pasang paket psmisc. Di keluarga RHEL bentuknya [dnf install psmisc], dan di keluarga Debian [apt install psmisc]. Di server Debian 12, psmisc 23.6 sudah terpasang, dan killall ada di /usr/bin/killall.

Saat diperiksa di server AlmaLinux 9.8, pkill yang namanya mirip ada di paket procps-ng, dan kill adalah perintah bawaan shell.

2️⃣ Cara menggunakan perintah killall

  • ↪️ Memeriksa target berdasarkan nama proses

Bentuk dasarnya adalah [killall nama proses]. Perintah ini mencari semua proses yang berjalan dengan nama yang diberikan lalu mengirim sinyal; jika Anda menulis beberapa nama, hal yang sama dilakukan untuk setiap nama (menurut manual resmi).

Karena proses dengan nama yang sama berhenti sekaligus, periksa dulu dengan pgrep apa yang sedang berjalan dengan nama itu. Kami menyalin sleep ke folder kerja dengan nama xxsleep-a1, xxsleep-a2, dan xxsleep-longname-x1, menjalankan xxsleep-a1 dua kali sehingga totalnya empat proses, lalu menampilkan nomor dan nama dengan -l.

pgrep -l xxsleep
2141 xxsleep-a1
2142 xxsleep-a1
2150 xxsleep-a2
2155 xxsleep-longnam

Pada baris keempat, nama file eksekusinya xxsleep-longname-x1, tetapi nama prosesnya terpotong di xxsleep-longnam.

Dengan -a, seluruh baris perintah yang dijalankan akan muncul. Dua xxsleep-a1 dengan nama yang sama kami bedakan dari argumen detik di akhir, 300 dan 310.

pgrep -a xxsleep
2141 /root/work/xxsleep-a1 300
2142 /root/work/xxsleep-a1 310
2150 /root/work/xxsleep-a2 320
2155 /root/work/xxsleep-longname-x1 330

Untuk mencari hanya proses yang namanya sama persis, tambahkan -x. Hasil untuk xxsleep-a1 adalah dua nomor.

pgrep -x xxsleep-a1
2141
2142

Untuk memeriksa nomornya saja dengan memasukkan satu nama apa adanya, gunakan pidof. Saat mencari xxsleep-a1, kedua nomor muncul dalam satu baris.

pidof xxsleep-a1
2142 2141

ps hanya menampilkan proses yang namanya sama persis jika Anda menulis beberapa nama yang dipisahkan koma setelah -C.

ps -o pid,comm -C xxsleep-a1,xxsleep-a2
    PID COMMAND
   2141 xxsleep-a1
   2142 xxsleep-a1
   2150 xxsleep-a2

Di server Debian 12, kami menjalankan empat proses dengan nama yang sama lalu menjalankan [killall xxsleep-a1]: tidak ada output dan selesai dengan kode keluar 0. Saat dicari lagi dengan pgrep, kedua xxsleep-a1 sudah hilang, dan yang tersisa hanya xxsleep-a2 dan xxsleep-longname-x1. Jika Anda menulis path yang berisi garis miring (/) sebagai pengganti nama, perintah ini memilih proses yang menjalankan file itu, apa pun namanya (menurut manual resmi).

Saat menulis nama yang tidak ada, xxsleep-zz, muncul baris dengan [no process found] di belakang nama, dan selesai dengan kode keluar 1. Kode keluar hanya 0 jika setidaknya satu proses dihentikan untuk setiap nama yang ditulis (menurut manual resmi).

killall xxsleep-zz
xxsleep-zz: no process found

Untuk menghentikan satu proses saja yang nomornya sudah Anda ketahui, kirim sinyal hanya ke nomor itu dengan kill: Perintah kill Linux.

3️⃣ Opsi perintah killall

  • ↪️ -e dan nama 15 karakter, -i, -v, -u, -r

Saat nama proses yang dijalankan sebagai xxsleep-longname-x1 dibaca dari /proc/PID/comm, hanya 15 karakter pertama yang tersisa: xxsleep-longnam.

cat /proc/2155/comm
xxsleep-longnam

Kami menjalankan pgrep dengan xxsleep-longname yang panjangnya 16 karakter.

pgrep -a xxsleep-longname

Perintah selesai tanpa output dengan kode keluar 1, dan saat dicari lagi dengan xxsleep-longnam yang 15 karakter, proses itu muncul.

pgrep -l xxsleep-longnam
2155 xxsleep-longnam

Jika killall menerima nama lebih dari 15 karakter dan ada proses yang nama lengkapnya tidak bisa dibaca, semua proses yang 15 karakter pertamanya cocok menjadi target; dengan -e, entri seperti itu dilewati (menurut manual resmi). Di server Debian 12, saat kami menulis 15 karakter pertama xxsleep-longnam dengan -e dan -v, muncul baris yang menyatakan tiga proses lain dengan nama terpotong di 15 karakter dilewati, lalu selesai dengan [no process found].

killall -e -v xxsleep-longnam
killall: skipping partial match quota_events_un(37)
killall: skipping partial match acpi_thermal_pm(112)
killall: skipping partial match ext4-rsv-conver(246)
xxsleep-longnam: no process found

Saat nama lengkap xxsleep-longname-x1 ditulis, setelah baris lewati yang sama muncul baris yang menunjukkan sinyal dikirim ke proses itu.

killall -e -v xxsleep-longname-x1
killall: skipping partial match quota_events_un(37)
killall: skipping partial match acpi_thermal_pm(112)
killall: skipping partial match ext4-rsv-conver(246)
Killed xxsleep-longname-x1(2155) with signal 15

Dengan -v, untuk setiap proses yang dikirimi sinyal muncul baris berisi nama, nomor, dan nomor sinyal.

killall -v xxsleep-a2
Killed xxsleep-a2(2150) with signal 15

-i menanyakan untuk setiap proses apakah proses itu akan dihentikan. Kami menjalankan lagi dua xxsleep-a1 dan memberikan y lalu n lewat input standar: kedua pertanyaan muncul berurutan dalam satu baris, dan hanya xxsleep-a1 pertama yang berhenti, sedangkan yang kedua tetap berjalan.

printf 'y\nn\n' | killall -i xxsleep-a1
Kill xxsleep-a1(2171) ? (y/N) Kill xxsleep-a1(2172) ? (y/N)

-u hanya memilih proses milik akun itu, dan jika nama dihilangkan, semua proses akun itu menjadi target. Saat xxsleep-a1 juga ditulis setelah nama akun, sinyal hanya dikirim ke xxsleep-a1 yang tersisa.

killall -v -u user xxsleep-a1
Killed xxsleep-a1(2172) with signal 15

-o dan -y memilih berdasarkan waktu mulai, dan waktunya ditulis dengan angka diikuti satuan s, m, h, d, w, M, atau y, seperti [-o 30m].

-r membaca nama sebagai ekspresi reguler yang diperluas. Saat pola ^xxsleep-a diberikan ke pgrep, muncul tiga proses yang diawali xxsleep-a.

pgrep -l '^xxsleep-a'
2141 xxsleep-a1
2142 xxsleep-a1
2150 xxsleep-a2

-w menunggu sambil memeriksa setiap detik sampai semua proses yang dikirimi sinyal hilang. Jika ada proses yang mengabaikan sinyal atau tertinggal sebagai zombie, penantiannya bisa tidak berakhir.

Tabel pertama di bawah memuat perintah pemeriksaan dan opsi killall yang benar-benar dijalankan dalam artikel ini, sedangkan opsi killall yang tidak dijalankan dikumpulkan di tabel kedua berdasarkan manual resmi.

📌 Memeriksa proses dan killall: hasil dari artikel ini

PerintahFungsiHasil di artikel ini
pgrep -l namaNomor dan nama proses yang namanya mengandung kata ituEmpat baris untuk xxsleep; nama panjang hanya terlihat sampai 15 karakter pertama, xxsleep-longnam
pgrep -a namaNomor dan seluruh baris perintahDua xxsleep-a1 dengan nama yang sama dibedakan dari argumen akhir 300 dan 310
pgrep -x namaHanya nomor proses yang namanya sama persisUntuk xxsleep-a1, dua baris: 2141 dan 2142
pidof namaNomor yang berjalan dengan nama itu, dalam satu barisUntuk xxsleep-a1, 2142 2141
ps -o pid,comm -C namaNomor dan nama proses yang namanya sama persis; beberapa nama dipisahkan komaDua baris xxsleep-a1 dan satu baris xxsleep-a2
cat /proc/PID/commNama proses (sampai 15 karakter pertama)2155 adalah xxsleep-longnam
killall namaSIGTERM ke proses dengan nama ituKedua xxsleep-a1 berhenti dengan kode keluar 0; nama yang tidak ada, xxsleep-zz, menghasilkan no process found dan kode keluar 1
killall -e namaNama lebih dari 15 karakter hanya jika nama lengkapnya cocokxxsleep-longnam menghasilkan no process found, xxsleep-longname-x1 berhenti
killall -v namaMenampilkan hasil untuk setiap proses yang dikirimi sinyalKilled xxsleep-a2(2150) with signal 15
killall -i namaMeminta konfirmasi untuk setiap proses sebelum menghentikannyaDengan y dan n, hanya xxsleep-a1 pertama yang berhenti
killall -u nama akunHanya proses milik akun ituDitulis bersama nama, hanya xxsleep-a1 milik akun itu yang berhenti
killall -9 namaSIGKILL sebagai ganti SIGTERMKilled xxsleep-a2(2173) with signal 9

📎 Opsi lainnya: menurut manual resmi

OpsiFungsi
-I, --ignore-caseMembandingkan nama tanpa membedakan huruf besar dan kecil
-g, --process-groupSinyal ke grup proses, bukan ke prosesnya (sekali per grup)
-l, --listDaftar nama sinyal yang dikenal
-n, --ns PIDHanya proses di namespace PID yang sama dengan PID itu; bawaannya semua namespace
-o, --older-than waktuHanya proses yang dimulai sebelum waktu itu (satuan s, m, h, d, w, M, y)
-q, --quietTidak memberi tahu meskipun tidak ada proses yang dihentikan
-r, --regexpMembaca nama sebagai ekspresi reguler yang diperluas
-s, --signal sinyalSinyal yang dikirim sebagai ganti SIGTERM
-V, --versionMenampilkan informasi versi
-w, --waitMenunggu sampai semua proses yang dikirimi sinyal hilang
-y, --younger-than waktuHanya proses yang dimulai setelah waktu itu
-Z, --context polaHanya proses yang konteks keamanannya cocok dengan pola ekspresi reguler yang diperluas; ditulis sebelum argumen lain; nama boleh dihilangkan

🔲 Simulator perintah killall

Simulator di bawah dimulai dengan daftar empat proses xxsleep ditambah xxsleep-a2 milik akun contoh user1. Ketuk chip untuk membandingkan baris mana yang hilang dari daftar dengan [killall -v], [-i], dan [-u]; teks output killall meniru output yang diperoleh di server Debian 12.

Simulator perintah killallpsmisc 23.4
[root@server work]#
Hanya berjalan di dalam browser Anda. Daftar di kiri berisi nilai contoh, dan killall adalah tiruan yang mengikuti teks output dari server Debian 12 dan hanya menghapus baris dari daftar.

4️⃣ Sinyal killall

  • ↪️ Opsi -s, killall -9, dan nomor sinyal

Sinyal yang akan dikirim ditulis dengan nama, seperti [-HUP] atau [-SIGHUP], dengan nomor, seperti [-1], atau setelah opsi -s (menurut manual resmi). [killall -9 nama proses] mengirim sinyal nomor 9, yaitu SIGKILL. SIGKILL adalah sinyal yang tidak bisa ditangkap atau diabaikan oleh proses (menurut manual resmi), sehingga proses berhenti tanpa sempat membereskan pekerjaannya. Karena itu, sinyal ini dikirim saat sinyal bawaan SIGTERM tidak menghentikan proses.

Di server Debian 12, saat -9 ditambahkan bersama -v pada xxsleep-a2 yang dijalankan lagi, muncul baris dengan nomor sinyal 9.

killall -9 -v xxsleep-a2
Killed xxsleep-a2(2173) with signal 9

Kami memeriksa nama dan nomor sinyal dengan [kill -l]. killall juga punya opsi -l yang menampilkan nama sinyal yang dikenalnya.

kill -l
 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU	25) SIGXFSZ
26) SIGVTALRM	27) SIGPROF	28) SIGWINCH	29) SIGIO	30) SIGPWR
31) SIGSYS	34) SIGRTMIN	35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3
38) SIGRTMIN+4	39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12	47) SIGRTMIN+13
48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14	51) SIGRTMAX-13	52) SIGRTMAX-12
53) SIGRTMAX-11	54) SIGRTMAX-10	55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7
58) SIGRTMAX-6	59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
63) SIGRTMAX-1	64) SIGRTMAX

Saat satu nomor dimasukkan, hanya nama sinyal itu yang muncul. Angka 15 yang dikirim killall secara bawaan adalah TERM, dan 9 yang dikirim dengan -9 adalah KILL.

kill -l 15
TERM
kill -l 9
KILL

Jika Anda menulis nama sinyal yang tidak ada dalam daftar, muncul pesan berbentuk [FOO: unknown signal; killall -l lists signals.] (menurut manual resmi dan teks program).

🔢 FAQ & Konten yang Direkomendasikan

killall adalah perintah dari paket psmisc, sedangkan pkill dari paket procps-ng, sama dengan pgrep. pkill mencari sebagian nama sebagai ekspresi reguler yang diperluas seperti pgrep, sedangkan killall membaca nama sebagai ekspresi reguler hanya jika -r ditambahkan (menurut manual resmi).

Manual resmi psmisc menyebutkan bahwa di sistem selain Linux, [killall nama] bisa berperilaku berbeda dari yang diharapkan, dan perlu sangat berhati-hati saat menjalankannya dengan akun administrator. Di sistem lain, periksa dulu manual sistem tersebut.

Jumlah nama yang bisa ditulis sekaligus ada batasnya, yaitu ukuran bilangan bulat unsigned long dikali 8. Di sistem 64-bit biasanya 64, dan di sistem 32-bit 32 (menurut manual resmi).

ℹ️ Pemberitahuan Afiliasi
Konten di situs ini berisi tautan afiliasi. Jika pengunjung membeli produk atau layanan melalui tautan tersebut, situs ini menerima komisi dari penjual. Harga yang dibayar pembeli(turun saat ada diskon promo ↓), tidak naik karena hal ini. Harga, diskon, dan informasi stok yang ditampilkan berlaku pada saat penulisan dan bisa berbeda dengan kondisi sebenarnya, jadi pastikan kembali di situs penjual sebelum membeli. Pemilihan dan penilaian produk dibuat berdasarkan standar kami sendiri, dan ada tidaknya komisi tidak memengaruhi urutan maupun isi penilaian.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Buktikan bahwa Anda manusia: 0   +   10   =