S0t4's Blog

Hanya Catatan dan Mencoba Untuk Berbagi

Saturday, December 4, 2010

Mematikan Proses/Program di Linux

  Blogger Sejati       Saturday, December 4, 2010
Hanya Catatan.....

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
logoblog

Thanks for reading Mematikan Proses/Program di Linux

Previous
« Prev Post

No comments: