Mematikan Proses/Progra, di Linux

Post Pic

Bagaimana cara mematikan/membunuh proses yang berjalan di linux. Disini Anda akan berkenalan dengan perintah kill, killall dan sedikit shell scripting untuk mengambil PID dari proses yang sedang berjalan, dan kemudian membunuh proses tersebut.

Misal, ada kasus proses apache2 masih berjalan. Padahal kita sudah menjalankan skrip untuk mematikan service apache2, /etc/init.d/apache2 stop berkali-kali. Dan ini menyebabkan aplikasi web yang Anda jalankan bermasalah.

Solusi utk masalah ini adalah, entah kita restart servernya (pakai perintah reboot), atau cara yang tanpa restart server keseluruhan. Kita matikan/bunuh semua proses apache2 yang tersisa dengan perintah kill.

Periksa proses apache2 yang masih tersisa,

ps ax |grep apache2

Hasilnya, misal seperti pada contoh di bawah ini.

21496 ?        S      0:01 /usr/sbin/apache2 -k start
21500 ?        S      0:00 /usr/sbin/apache2 -k start
21501 ?        S      0:00 /usr/sbin/apache2 -k start
22643 ?        S      0:01 /usr/sbin/apache2 -k start
23737 ?        S      0:00 /usr/sbin/apache2 -k start
24707 ?        S      0:00 /usr/sbin/apache2 -k start
25853 ?        S      0:00 /usr/sbin/apache2 -k start
26836 ?        S      0:00 /usr/sbin/apache2 -k start
27765 ?        S      0:00 /usr/sbin/apache2 -k start

kill -9 PID

Perhatikan baris di atas, kolom pertama adalah PID dari proses yang sedang berjalan. Untuk mematikan proses apache2 di atas, salah satu caranya dengan perintah kill -9 PID

sudo kill -9 21496
sudo kill -9 21500
sudo kill -9 21501
sudo kill -9 22463
dst (untuk semua PID yang ada dikolom pertama

Atau pakai kalau mau satu baris

sudo kill -9 21496 21500 21501 22643 (dst utk semua PID yang ada di kolom pertama)

killall NAMA_PROSES

Cara lain yang bisa dilakukan, adalah dengan perintah killall, diikuti dengan nama proses yang mau dimatikan.

sudo killall apache2

Tapi cara ini tidak selamanya berhasil. Jika gagal, cobalah cara yang pertama.

Menggunakan Bantuan BASH

Ini adalah gabungan cara pertama, dan bantuan sedikit pemograman di shell bash.

for p in `ps ax |grep apache2| cut -d " " f 1`; do kill -9 $p; done

Perhatikan perintah di atas, cut -d " " f 1 akan memprint semua PID yang ada dikolom pertama, dan selanjutnya akan kita gunakan untuk mematikan proses apache2.

Cara lain, serupa dengan cut, tapi menggunakan awk.

for p in `ps ax |grep apache2| awk '{print $1}'`; do kill -9 $p; done

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s