Artikel ini membahas dasar-dasar perintah pkill di Linux.

pkill adalah utilitas baris perintah yang mengirimkan sinyal ke proses program yang sedang berjalan berdasarkan kriteria yang diberikan. Proses dapat ditentukan dengan nama lengkap atau sebagiannya, pengguna yang menjalankan proses, atau atribut lainnya.

Perintah pkill adalah bagian dari paket procps (atau procps-ng), yang sudah diinstal sebelumnya di hampir semua distribusi Linux. pkill adalah perintah yang berhubungan atau berkesinambungan dengan pgrep yang hanya mencetak daftar proses yang cocok.

Cara Menggunakan Perintah pkill

Sintaks untuk perintah pkill adalah sebagai berikut:

pkill [OPTIONS] <PATTERN>

Pencocokan <PATTERN> ditentukan menggunakan extended regular expressions.

Ketika dipanggil tanpa opsi apa pun, pkill mengirimkan sinyal 15 (TERM) ke PID semua program yang berjalan yang cocok dengan nama yang diberikan. Misalnya, untuk menghentikan semua proses firefox, Anda akan menjalankan:

pkill -9 firefox

Perintah mengembalikan output 0 ketika setidaknya satu proses berjalan cocok dengan nama yang diminta. Kalau tidak, kode exit adalah 1. Ini bisa berguna saat digunakan dalam skrip shell.

Untuk mengirim sinyal berbeda ke proses yang cocok, aktifkan perintah pkill dengan opsi --signal, diikuti oleh numeric atau nama sinyal simbolik. Cara lain untuk mengirim sinyal adalah dengan menjalankan pkill diikuti dengan nama atau nomor sinyal yang diawali dengan tanda hubung (-).

Gunakan perintah kill -l untuk mendaftar semua sinyal yang tersedia.

Sinyal yang paling umum digunakan adalah:

  • 1 (-HUP): untuk restart suatu proses.
  • 9 (-KILL): untuk mematikan suatu proses.
  • 15 (-TERM): untuk menghentikan proses dengan cara berbeda.

Signals dapat ditentukan dalam tiga cara berbeda:

  • menggunakan nomor (mis., -1)
  • dengan awalan “SIG” (mis., -SIGHUP)
  • tanpa awalan “SIG” (mis., -HUP).

Misalnya, untuk reload proses Nginx secara paksa, maka perintah yang akan Anda jalankan:

pkill -HUP nginx

pkill menggunakanregular expressions untuk mencocokkan nama proses. Itu selalu merupakan ide yang baik untuk menggunakan perintah pgrep untuk mencetak proses yang cocok sebelum mengirim sinyal kepada mereka. Misalnya, untuk membuat list semua proses yang terdapat kata “ssh” dalam namanya:

1039 sshd
2257 ssh-agent
6850 ssh
31279 ssh-agent

Jika Anda ingin mengirim sinyal hanya ke proses yang namanya persis seperti pola pencarian, Anda akan menggunakan:

pkill '^ssh$'

Karakter tanda caret (^) akan melihat pencocokan di awal string, dan dolar $ di akhir.

Secara default, pkill hanya cocok dengan nama proses. Ketika opsi -f digunakan, perintah akan mencari kecocokan dengan daftar argumen penuh.  Jika perintah berisi spasi, kutip seluruh perintah:

pkill -9 -f "ping 8.8.8.8"

Gunakan opsi -u untuk memberi tahu pkill untuk menampilkan proses yang dijalankan oleh pengguna tertentu:

pkill -u toni

Untuk menentukan beberapa pengguna, pisahkan nama mereka dengan koma:

pkill -u budi,toni

Anda juga dapat menggabungkan opsi dan pola pencarian. Misalnya untuk mencetak semua proses dan nama mereka yang berjalan di bawah user “budi” dan berisi “gnome” dalam nama mereka, Anda akan mengetik:

pkill -9 -u budi gnome

Untuk hanya menampilkan proses yang dimulai paling awal (paling baru di jalankan) atau paling akhir (terkini), gunakan opsi -n (merupakan newest atau paling awal di jalankan) atau -o (untuk oldest atau terbaru di jalankan).

Misalnya, untuk kill aplikasi screen yang paling baru dibuat:

pkill -9 -n screen

Kesimpulan

Perintah pkill digunakan untuk mengirim sinyal ke program yang sedang berjalan berdasarkan kriteria yang berbeda.

Untuk informasi lebih lanjut tentang perintah pkill, kunjungi halaman manual pkill atau ketik man pkill di terminal Anda.