Tanya :

Bisa buatkan cara penggunaan perintah ps yang efektif untuk melihat proses-proses yang sedang berjalan ? sebab saya lihat di https://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

Iklan