Wednesday, October 13, 2010

Info Sistem


Seperti kita ketahui, proses dalam linux memiliki id yang bersifat uniq yang diletakkan di dalam direktori /proc. Di dalam direktory /proc tersebut terdapat beberapa sub direktory (berupa angka) yang memetakan id proses. Di dalam masing-masing direktory tersebut terdapat informasi-informasi yang berkaitan dengan proses yang bersangkutan. Status proses dalam linux dibedakan menjadi 3 yakni running ,stop dan sleeping. Kali ini kita akan mencoba memanfaatkan informasi dari file status yg berada di direktory id proses untuk menghitung berapa jumlah proses keseluruhan, proses yang sedang running, proses yang sedang stop serta proses yang sedang tidur alias sleeping. Kita akan menyaring direktory angka dengan perintah grep. Tool ini membutuhkan file temporary untuk menyimpan sementara infornasi dari status. Kita menggunakan teknik redireksi untuk mengarahkan keluaran dari perintah cat ke file temporary tersebut. Untuk perulangan kita menggunakan for sedangkan untuk menghitung jumlah proses kita menggunakan perintah wc. 

TEMP=temp
for i in `ls /proc | grep "[0-9]"` #untuk mengambil karakter angka
do
cat /proc/$i/status 2>/dev/null | grep State: >> $TEMP
done
echo "`cat $TEMP | wc -l` total" #menghitung jumlah baris proses
echo "`cat $TEMP | grep sleeping | wc -l` sleeping" #menghitung proses sleepinh
echo "`cat $TEMP | grep stopped | wc -l` stopped" #menghitung proses yg sedang stop
echo "`cat $TEMP | grep running | wc -l` running" #menghitung proses yg sedang jalan
rm -f $TEMP

190 total
190 sleeping
0 stopped
0 running

Linux memang sebuah sistem operasi yang sangat fair yang tidak menyembuyikan informasi apapun dari penggunanya. Dengan demikian sebenarnya kita bisa memanfaatkan shell script untuk membuat berbagai macam tool yang berkaitan dengan administrasi sistem sesuka kita. Silakan berkreasi dengan linux

No comments:

Post a Comment