Tanya :
Bisa buatkan cara penggunaan perintah ps yang efektif untuk melihat proses-proses yang sedang berjalan ? sebab saya lihat di http://tanyarezaervani.wordpress.com/2011/03/30/tanya-14-melihat-proses-yang-berjalan-dengan-ps-ax/ kurang lengkap …
Terima kasih ya.
Jawab :
Melihat proses-proses yang sedang berjalan (ps -ef, ps -aux)
Adalah cara yang umum digunakan untuk melihat seluruh proses yang sedang berjalan di mesin kita. Contoh :
henny@henny-M540SR:/etc/dansguardian/lists$ ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 Apr13 ? 00:00:00 /sbin/init root 2 0 0 Apr13 ? 00:00:00 [kthreadd] root 3 2 0 Apr13 ? 00:00:07 [ksoftirqd/0] root 4 2 0 Apr13 ? 00:00:00 [migration/0] root 5 2 0 Apr13 ? 00:00:00 [watchdog/0] root 6 2 0 Apr13 ? 00:00:12 [events/0] root 7 2 0 Apr13 ? 00:00:00 [cpuset] root 8 2 0 Apr13 ? 00:00:00 [khelper] root 9 2 0 Apr13 ? 00:00:00 [netns] root 10 2 0 Apr13 ? 00:00:00 [async/mgr] root 11 2 0 Apr13 ? 00:00:00 [pm] root 12 2 0 Apr13 ? 00:00:00 [sync_supers] root 13 2 0 Apr13 ? 00:00:00 [bdi-default] root 14 2 0 Apr13 ? 00:00:00 [kintegrityd/0] root 15 2 0 Apr13 ? 00:00:01 [kblockd/0] root 16 2 0 Apr13 ? 00:00:00 [kacpid]
Keterangan
- -e : menampilkan seluruh proses
- -f : menampilkan daftar dalam format lengkap
Mendaftar proses berdasarkan UID dan Perintahnya (ps -u, ps -C)
Menggunakan opsi -u untuk menampilkan proses yang dimiliki oleh user tertentu. Jika anda memiliki lebih dari satu username, pisahkan mereka dengan koma. Contoh dibawah ini menampilkan proses yang dilakukan oleh www-data dan henny
henny@henny-M540SR:/etc/dansguardian/lists$ ps -f -u www-data,henny UID PID PPID C STIME TTY TIME CMD www-data 1260 1249 0 Apr13 ? 00:00:00 /usr/sbin/apache2 -k start www-data 1261 1249 0 Apr13 ? 00:00:00 /usr/sbin/apache2 -k start www-data 1262 1249 0 Apr13 ? 00:00:00 /usr/sbin/apache2 -k start www-data 1263 1249 0 Apr13 ? 00:00:00 /usr/sbin/apache2 -k start henny 1501 1 0 Apr13 ? 00:00:00 /usr/bin/gnome-keyring-daemon -- henny 1520 1494 0 Apr13 ? 00:00:00 gnome-session henny 1550 1520 0 Apr13 ? 00:00:00 /usr/bin/ssh-agent /usr/bin/dbus henny 1553 1 0 Apr13 ? 00:00:00 /usr/bin/dbus-launch --exit-with henny 1554 1 0 Apr13 ? 00:00:00 /bin/dbus-daemon --fork --print-
Seringkali ps digunakan dengan perintah grep seperti “ps -aux | grep perintah” untuk mendapatkan daftar proses yang menggunakan perintah tertentu
Sesungguhnya perintah ps sendiri memiliki opsi -C untuk melakukan hal yang sama, berikut contoh jika saya mencari proses yang melibatkan dansguardian :
henny@henny-M540SR:/etc$ ps -f -C dansguardian UID PID PPID C STIME TTY TIME CMD 117 7547 1 0 16:13 ? 00:00:00 /usr/sbin/dansguardian 117 7549 7547 0 16:13 ? 00:00:00 /usr/sbin/dansguardian 117 7550 7547 0 16:13 ? 00:00:00 /usr/sbin/dansguardian 117 7551 7547 0 16:13 ? 00:00:00 /usr/sbin/dansguardian 117 7552 7547 0 16:13 ? 00:00:00 /usr/sbin/dansguardian 117 7553 7547 0 16:13 ? 00:00:00 /usr/sbin/dansguardian 117 7554 7547 0 16:13 ? 00:00:00 /usr/sbin/dansguardian 117 7555 7547 0 16:13 ? 00:00:00 /usr/sbin/dansguardian
Mendaftar proses berdasarkan PIC atau PPID (ps -p, ps -ppid)
Setiap proses ditandai dengan ID Proses yang unik (PID)
Ketika anda menjalankan sebuah aplikasi, ia mungkin melibatkan sejumlah proses dan masing-asing sub proses juga akan memiliki PID-nya sendir, jadi masing-masing proses akan memiliki Process ID dan Parent Process ID-nya sendiri.
Untuk semua proses yang terlibat dalam proses parent akan memiliki PPID (Parent Process Identifier) yang sama. Metode berikut ini digunakan untuk mendapatkan daftar proses dari sebuah PPID tertentu.
henny@henny-M540SR:/etc$ ps -f --ppid 1 UID PID PPID C STIME TTY TIME CMD root 357 1 0 Apr13 ? 00:00:00 upstart-udev-bridge --daemon root 359 1 0 Apr13 ? 00:00:00 udevd --daemon root 783 1 0 Apr13 ? 00:00:00 /usr/sbin/sshd -D syslog 788 1 0 Apr13 ? 00:00:00 rsyslogd -c4 102 807 1 0 Apr13 ? 00:00:04 dbus-daemon --system --fork avahi 837 1 0 Apr13 ? 00:00:00 avahi-daemon: running [henny-M54 root 846 1 0 Apr13 ? 00:00:04 NetworkManager root 858 1 0 Apr13 ? 00:00:01 /usr/sbin/modem-manager root 918 1 0 Apr13 ? 00:00:00 gdm-binary root 940 1 0 Apr13 ? 00:00:00 /usr/sbin/console-kit-daemon --n root 1019 1 0 Apr13 ? 00:00:00 /usr/sbin/cupsd -C /etc/cups/cup root 1043 1 0 Apr13 tty4 00:00:00 /sbin/getty -8 38400 tty4 root 1049 1 0 Apr13 tty5 00:00:00 /sbin/getty -8 38400 tty5 root 1059 1 0 Apr13 tty2 00:00:00 /sbin/getty -8 38400 tty2 root 1062 1 0 Apr13 tty3 00:00:00 /sbin/getty -8 38400 tty3 root 1070 1 0 Apr13 tty6 00:00:00 /sbin/getty -8 38400 tty6
Menampilkan proses dalam bentuk pohon hierarki (ps –forest)
Contoh dibawah ini menampilkan Process ID dan perintah-perintah dalam sebuah hierarki.
Argumen –forest yang menyertai perintah ps akan menampilkan pohon proses dalam format ASCII. Dari pohon ini , kita dapat mengidentifikasi mana yang merupakan parent process dan mana yang merupakan child process yang terlibat.
henny@henny-M540SR:/etc$ ps -e -o pid,args --forest PID COMMAND 2 [kthreadd] 3 \_ [ksoftirqd/0] 4 \_ [migration/0] 5 \_ [watchdog/0] 6 \_ [events/0] 7 \_ [cpuset] . . . 1016 \_ /usr/lib/gdm/gdm-simple-slave --display-id /org/gnome/DisplayManager/D 1065 \_ /usr/bin/X :0 -nr -verbose -auth /var/run/gdm/auth-for-gdm-LdGYkm/ 1494 \_ /usr/lib/gdm/gdm-session-worker 1520 \_ gnome-session 1550 \_ /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-sessio 1566 \_ gnome-power-manager 1583 \_ metacity 1590 \_ /usr/lib/evolution/2.30/evolution-alarm-notify 1592 \_ bluetooth-applet 1593 \_ nm-applet --sm-disable 1594 \_ gnome-panel 1595 \_ nautilus 1596 \_ /usr/lib/policykit-1-gnome/polkit-gnome-authentication-age 1597 \_ /usr/lib/vino/vino-server --sm-disable 1711 \_ /usr/lib/gnome-disk-utility/gdu-notification-daemon 1822 \_ /usr/bin/python /usr/share/system-config-printer/applet.py 1861 \_ update-notifier
Menampilkan lamanya waktu yang telah dilalui oleh proses (ps -o pid,etime=)
Jika anda inign mendapatkan elapsed time untuk proses-proses yang sedang berjalan, perintah ps menyediakan etime yang menyediakan keterangan tentang berapa lama waktu yang telah dialami oleh sebuah proses semenjak ia dimulai dalam bentuk [[dd-]hh:]mm:ss.
Contoh perintah berikut menampilkan elapsed time untuk PID 1 (init)
henny@henny-M540SR:/etc$ ps -p 1 -o pid,etime= PID 1 23:50:49
Di contoh tersebut tampak bahwa proses init sudah berlangsung selama 23 jam 50 menit 49 hari. Catatan : Memeriksa proses init dengan ps sama saja dengan memeriksa berapa lama sudah komputer menyala dengan perintah uptime
Demikian, semoga bermanfaat
Leave a Reply