Bagaimana Mendapatkan Process ID pada Linux

January 13, 2010

Seperti yang kita ketahui, setiap process dilinux selalu ada Process ID atau yang biasa disebut PID. PID ini adalah berupa nomer atau suatu angka tertentu yang unik disetiap processnya. Jadi tidak ada process yang mempunyai PID yang sama.

PID berguna untuk menghentikan atau mengunci suatu process dari aplikasi atau service. Dengan PID ini kita bisa menghentikan atau kill suatu process dan juga bisa melakukan blocking process apabila aplikasi/service itu sudah running. Sehingga kita bisa membatasi suatu applikasi/service hanya berjalan dengan process yang kita tentukan ( tidak ada double process ). Dan juga masih banyak lagi kegunaan dari PID ini.

Dilinux, PID bisa kita lihat dengan menggunakan perintah "ps". Tapi perintah ps ini menampilkan semua proses pada linux. Jadi kita harus memfilter lagi output dari ps untuk mendapatkan PID dari service yang kita inginkan.

Ada beberapa cara yang bisa dilakukan untuk memfilter PID dari ps. Salah satunya dengan menggunakan "grep" dan "awk" untuk mendapatkan PID yang diinginkan.

Contohnya:

# ps -ef | grep -i "firefox" | grep -v grep | awk '{print $2}'

outputnya adalah PID number dari firefox.

Berikut adalah contoh script killing PID yang saya buat:

#!/bin/bash

#Ganti dengan nama aplikasi yang mau dikill
APP=firefox

CHECK=`ps -ef | grep -i "$APP" | grep -v grep | awk '{print $2}' | wc -l`
if [ $CHECK -eq 0 ]; then
echo "No Process"; exit
elif [ $CHECK -gt 1 ]; then
echo "Double name Process. Try again and be more specific."; exit
fi

PID=`ps -ef | grep -i "$APP" | grep -v grep | awk '{print $2}'`
echo "killing pid $PID"
kill $PID
exit 0

Script diatas bisa digunakan untuk mematikan process yang dimau. Tapi ada cara lain yang lebih mudah dan lebih elegan menurut saya. 😎

Sebenarnya kita bisa melihat PID dari aplikasi/service yang kita jalankan secara langsung sesaat setelah kita jalankan aplikasi tersebut. Maksudnya adalah setelah kita jalankan aplikasi menggunakan command line, maka kita bisa lihat PIDnya dengan command "echo $!". Dengan syarat perintah "echo $!" dijalankan langsung setelah kita menjalankan aplikasi tersebut. Karena perintah "echo $!" adalah digunakan untuk melihat PID perintah diatasnya. Pheeff.. Bingung juga cara menjelaskannya. 😆

Langsung aja lihat contohnya:

# firefox &
# echo $!
12201

Nah, nilai 12201 adalah PID dari firefox yang dijalankan sebelumnya. Pada script biisa juga disimpan PIDnya kesebuah file untuk dikill kemudian.

# firefox &
# echo $! > firefox.PID
# cat firefox.PID
12201
# kill 12201

Nah, dengan cara ini juga biasanya suatu service dinyalakan atau dimatikan. Konsepnya adalah dengan menyimpan PID kedalam suatu file dan bila ingin mematikan service tersebut tinggal lihat lagi file PIDnya. Berikut ada sebuah script yang bagus untuk digunakan menstart, stop atau restart suatu service.

Selamat mencoba. 💡

Advertisements

2 Responses to “Bagaimana Mendapatkan Process ID pada Linux”


  1. Kalau untuk mendapatkan PID, simplenya: pgrep nama_proses dan untuk menghentikan senuah proses gunakan : pkill nama proses….

    it’s so simple…:-)


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: