OS_Praktikum 4 :)

Praktikum 4 A ....
Proses dan Manajemen Proses

Semua percobaan di bawah ini dilakukan di dalam command line terminal (tty2) yang dapat dibuka dengan menekan Ctrl + Alt + F2 dan login ke terminal sebagai user . TTY adalah nama terminal dimana proses tersebut aktif . kita tidak akan bisa melakukan printscreen layar terminal ataupun melakukan copy di dalam TTY , jadi untuk menampilkan sebuah output, kita dapat mengakali nya dengan memberikan perintah membelokkan standart output ke direktori baru .
contoh :
$ ps -u > myfile
maka hasil output dari perintah $ ps -u akan muncul di dalam file atau direktori myfile.

untuk mengakhiri command line terminal atau TTY, menggunakan perintah Alt + F7 .

*** selamat mencoba :) ***
Percobaan 1 :
1.                  $ ps
instruksi ps (process status) digunakan untuk melihat kondisi proses yang ada.
PID adalah Nomer Identitas Proses.
TTY adalah naam terminal dimana proses tersebut aktif.
STAT berisi S (Sleeping) dan R (Running)
Command merupakan instruksi yang digunakan.

Output :

            PID TTY          TIME CMD
            4509 tty2       00:00:00 bash
            4604 tty2       00:00:00 ps

2.                  $ ps -u
untuk melihat faktor/elemen lainnya, menggunakan option -u (user).
%CPU adalah presentasi CPU time yang digunakan oleh proses tersebut.
%MEM adalah presentasi sistem memori yang digunakan proses.
SIZE adalah jumlah memori yang digunakan.
RSS (Real System Storage) adalah jumlah memori yang digunakan.
START adalah kapan proses tersebut diaktifkan.

Output :

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
1000      4509  0.2  0.2  10156  6328 tty2     S    14:39   0:00 -bash
1000      4608  0.0  0.0   5012  1112 tty2     R+   14:42   0:00 ps -u

3.                  $ ps -u <user>
mencari proses yang spesifik dari pemakai, karena proses-proses diatas hanya terbatas pada proses milik pemakai, dimana pemakai tersebut melakukan login.
Contoh :
$ps -u vishachacha

Output :

  PID TTY          TIME CMD
 1602 ?        00:00:00 gnome-keyring-d
 1611 ?        00:00:00 gnome-session
 1649 ?        00:00:00 dbus-launch
 1650 ?        00:00:00 dbus-daemon
 1669 ?        00:00:00 ssh-agent
 1672 ?        00:00:00 dbus-launch
 1673 ?        00:00:02 dbus-daemon
 1675 ?        00:00:00 gvfsd
 1680 ?        00:00:00 gvfs-fuse-daemo
 1697 ?        00:00:03 gnome-settings-
 1702 ?        00:00:00 gconfd-2
 1704 ?        00:00:00 gsd-printer
 1709 ?        00:00:02 gnome-screensav
 1710 ?        00:00:43 gnome-shell
 1718 ?        00:00:11 syndaemon
 1721 ?        00:00:00 pulseaudio
 1727 ?        00:00:00 gconf-helper
 1733 ?        00:00:00 dconf-service
 1738 ?        00:00:00 nm-applet
 1739 ?        00:00:13 nautilus
 1741 ?        00:00:00 gnome-fallback-
 1742 ?        00:00:00 mintupdate-laun
 1745 ?        00:00:00 sh
 1746 ?        00:00:01 mintUpdate
 1752 ?        00:00:00 gvfs-gdu-volume
 1763 ?        00:00:00 gvfs-afc-volume
 1766 ?        00:00:00 gvfs-gphoto2-vo
 1788 ?        00:00:00 gnome-shell-cal
 1799 ?        00:00:00 gvfsd-trash
 1801 ?        00:00:00 gvfsd-burn
 1812 ?        00:00:00 gdu-notificatio
 1833 ?        00:00:00 zeitgeist-datah
 1839 ?        00:00:00 zeitgeist-daemo
 1841 ?        00:00:00 cat
 1856 ?        00:00:00 applet.py
 1891 ?        00:00:00 gvfsd-metadata
 1916 ?        00:00:00 deja-dup-monito
 4663 ?        00:00:01 evince
 4667 ?        00:00:00 evinced
 5459 tty2     00:00:00 bash
 5554 tty2     00:00:00 ps

4.                  mencari proses lainnya menggunakan opsi a (all) dan au (all user) .

- $ ps -a

Output :

  PID TTY          TIME CMD
 4509 tty2     00:00:00 bash
 4610 tty2     00:00:00 ps

- $ ps -au

Output :
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      1141  0.0  0.0   1968   540 tty4     Ss+  10:38   0:00 /sbin/getty -8 38400 tty4
root      1145  0.0  0.0   1968   548 tty5     Ss+  10:38   0:00 /sbin/getty -8 38400 tty5
root      1157  0.0  0.0   1968   548 tty3     Ss+  10:38   0:00 /sbin/getty -8 38400 tty3
root      1159  0.0  0.0   1968   548 tty6     Ss+  10:38   0:00 /sbin/getty -8 38400 tty6
root      1194  0.2  1.2  63992 36112 tty7     Ss+  10:38   0:33 /usr/bin/X :0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch -background none
root      1348  0.0  0.0   1968   552 tty1     Ss+  10:38   0:00 /sbin/getty -8 38400 tty1
root      4378  0.0  0.0   3536  1872 tty2     Ss   14:34   0:00 /bin/login --           
1000      4509  0.1  0.2  10156  6328 tty2     S    14:39   0:00 -bash
1000      4611  0.0  0.0   5012  1120 tty2     R+   14:43   0:00 ps -au


Percobaan 2 :

1.                  $ ps -eH
Opsi e memilih semua proses dan opsi H menghasilkan tampilan proses secara hierarki.
Proses child muncul di bawah proses parent. Proses child ditandai dengan awalan beberapa spasi.

Output :

 PID TTY          TIME CMD
    1     ?        00:00:00 init
  364   ?        00:00:00   upstart-udev-br
  386   ?        00:00:00   udevd
  637   ?        00:00:00     udevd
  638   ?        00:00:00     udevd
  543   ?        00:00:09   dbus-daemon
  551   ?        00:00:00   modem-manager
  561   ?        00:00:00   avahi-daemon
  562   ?        00:00:00     avahi-daemon
  563   ?        00:00:01   rsyslogd
  567   ?        00:00:00   NetworkManager
  570   ?        00:00:04   polkitd
  746   ?        00:00:00   smbd
  823   ?        00:00:00     smbd
  782   ?        00:00:00   upstart-socket-
analisa :
   561   ?        00:00:00   avahi-daemon merupakan suatu parent, dan 562   ?        00:00:00     avahi-daemon yang terletak di bawahnya dengan beberapa spasi sebelumnya, merupakan child .

2.                  $ ps -e f
tampilan serupa dengan langkah sebelumnya, opsi -f akan menampilkan status proses dengan karakter grafis (\dan_)

Output :

  PID TTY      STAT   TIME COMMAND
194 t   ty7         Ss+    0:38    \_ /usr/bin/X :0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch                                       -background none
 1611    ?          Ssl      0:00  \_ gnome-session --session=gnome
 1669    ?          Ss       0:00      \_ /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session gnome-                                                             session --session=gnome
 1697    ?        Sl     0:03      \_ /usr/lib/gnome-settings-daemon/gnome-settings-daemon
 1710    ?        Sl     0:36      \_ /usr/bin/gnome-shell
 1738    ?        Sl     0:00      \_ nm-applet
 1739    ?        Sl     0:10      \_ nautilus -n
 1741    ?        Sl     0:00      \_ /usr/lib/gnome-settings-daemon/gnome-fallback-mount-helper
 1742    ?        S      0:00      \_ /usr/bin/python /usr/bin/mintupdate-launcher
 1745    ?        S      0:00      |   \_ sh -c /usr/lib/linuxmint/mintUpdate/mintUpdate.py
 1746    ?        Sl     0:01      |       \_ python /usr/lib/linuxmint/mintUpdate/mintUpdate.py
 1812    ?        S      0:00      \_ /usr/lib/gnome-disk-utility/gdu-notification-daemon
 1833    ?        Sl     0:00      \_ zeitgeist-datahub
 1856    ?        S      0:00      \_ /usr/bin/python /usr/share/system-config-printer/applet.py
 1916    ?        Sl     0:00      \_ /usr/lib/deja-dup/deja-dup/deja-dup-monitor

3.                  $ pstree
akan ditampilkan semua proses pada sistem dalam bentuk hirarki parent/child. Proses parent di sebelah kiri proses child.

Output :

init-+-NetworkManager---{NetworkManager}
     |-accounts-daemon---{accounts-daemo}
     |-acpid
     |-atd
     |-lightdm-+-Xorg
     |         |-gnome-session-+-applet.py
     |         |               |-deja-dup-monito---2*[{deja-dup-monit}]
     |         |               |-gdu-notificatio
     |         |               |-gnome-fallback----2*[{gnome-fallback}]
     |         |               |-gnome-settings----2*[{gnome-settings}]
     |         |               |-gnome-shell---6*[{gnome-shell}]
     |         |               |-mintupdate-laun---sh---mintUpdate---{mintUpdate}
     |         |               |-nautilus---2*[{nautilus}]
     |         |               |-nm-applet---{nm-applet}
     |         |               |-ssh-agent
     |         |               |-zeitgeist-datah---{zeitgeist-data}
     |         |               `-3*[{gnome-session}]
     |         `-2*[{lightdm}]
     |-login---bash---pstree

Analisa :
tampilan diatas merupakan bentuk dari percabangan seperti pohon, dimana letak parent di sebelah kiri child . pada percobaan ini, init merupakan suatu parent , sedangkan acpid, atd dll merupakan child dari init .

4.                  $ pstree | grep mingetty
akan menampilkan semua proses mingetty yang berjalan pada system yang berupa console virtual. Selain itu proses dikelompokkan dalam satu baris dengan suatu angka sebagai jumlah proses yang berjalan.

Output :
-

Analisa :
pada perintah  $ pstree | grep mingetty tidak dapat melakukan pembelokkan ke suatu file, sehingga saya tidak bisa menampilkan hasil output dari $ pstree | grep mingetty .
tapi over all, hasil outputnya tidak jauh beda dengan hasil output percobaan sebelumnya ( $ pstree ) yang masih dalam bentuk percabangan pohon.

5.                  $ pstree -p
untuk melihat semua PID dalam proses menggunakan opsi -p

Output :

init(1)-+-NetworkManager(567)---{NetworkManager}(568)
        |-accounts-daemon(1354)---{accounts-daemo}(1355)
        |-acpid(1166)
        |-atd(1170)
        |-avahi-daemon(561)---avahi-daemon(562)
        |-bluetoothd(1209)
        |-colord(1034)-+-{colord}(1036)
        |              `-{colord}(1306)
        |-console-kit-dae(1358)-+-{console-kit-da}(1359)
        |                       |-{console-kit-da}(1362)
        |                       |-{console-kit-da}(1363)
        |                       |-{console-kit-da}(1364)
        |                       |-{console-kit-da}(1365)
        |                       |-{console-kit-da}(1366)
        |                       |-{console-kit-da}(1367)
        |                       |-{console-kit-da}(1368)
        |                       |-{console-kit-da}(1369)
        |                       |-{console-kit-da}(1370)

analisa :
PID adalah Nomer Identitas Proses.
6.                  $ pstree -h
untuk menampilkan proses dan ancestor yang terletak tebal menggunakan opsi -h

Output :
-

Percobaan 3 :
1.                  $ ps -e | more
opsi -e menampilkan semua proses dalam bentuk 4 kolom : PID, TTY, TIME dan CMD .

Output :

 PID TTY          TIME CMD
    1 ?        00:00:00 init
    2 ?        00:00:00 kthreadd
    3 ?        00:00:00 ksoftirqd/0
    6 ?        00:00:00 migration/0
    7 ?        00:00:00 migration/1
    9 ?        00:00:00 ksoftirqd/1
   11 ?        00:00:00 migration/2
   12 ?        00:00:30 kworker/2:0
   13 ?        00:00:00 ksoftirqd/2
   14 ?        00:00:00 migration/3
analisa :
untuk menghentikan proses more, dengan menekan q .

2.                  $ ps ax | more
opsi a akan menampilkan semua proses yang dihasilkan terminal (TTY).
Opsi x menampilkan semua proses yang tidak dihasilkan terminal .
Semua logika opsi ini sama dengan opsi -e.
terdapat 5 kolom : PID, TTY, STAT, TIME dan COMMAND.

Output :

  PID TTY  STAT  TIME COMMAND
    1      ?        Ss     0:00 /sbin/init
    2      ?        S      0:00 [kthreadd]
    3      ?        S      0:00 [ksoftirqd/0]
    6      ?        S      0:00 [migration/0]
    7      ?        S      0:00 [migration/1]
    9      ?        S      0:00 [ksoftirqd/1]
   11     ?        S      0:00 [migration/2]
   12     ?        S      0:31 [kworker/2:0]
   13     ?        S      0:00 [ksoftirqd/2]
   14     ?        S      0:00 [migration/3]
   16     ?        S      0:00 [ksoftirqd/3]
   17     ?        S<     0:00 [cpuset]
   18     ?        S<     0:00 [khelper]

3.                  $ ps ef | more
opsi -ef akan menampilkan semua proses dalam format daftar penuh.

Output :

  PID TTY      STAT   TIME COMMAND
 5459 tty2     S      0:00 -bash TERM=linux HOME=/home/vishachacha SHELL=/bin/bash USER=vishachacha LOGNAME=vishachacha PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games LANG=en_US.UTF-8 MAIL=/var/mail/vishachacha XDG_SESSION_COOKIE=86e6286a79d62410fc7817890000000a-1332662749.622897-1264636538 HUSHLOGIN=FALSE

 5578 tty2     R+     0:00  \_ ps ef SHELL=/bin/bash TERM=linux XDG_SESSION_COOKIE=86e6286a79d62410fc7817890000000a-1332662749.622897-1264636538 HUSHLOGIN=FALSE USER=vishachacha MAIL=/var/mail/vishachacha PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games PWD=/home/vishachacha LANG=en_US.UTF-8 SHLVL=1 HOME=/home/vishachacha LOGNAME=vishachacha _=/bin/ps

 5579 tty2     S+     0:00  \_ more SHELL=/bin/bash TERM=linux XDG_SESSION_COOKIE=86e6286a79d62410fc7817890000000a-1332662749.622897-1264636538 HUSHLOGIN=FALSE USER=vishachacha MAIL=/var/mail/vishachacha PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games PWD=/home/vishachacha LANG=en_US.UTF-8 SHLVL=1 HOME=/home/vishachacha LOGNAME=vishachacha _=/bin/more

4.                  $ ps  -eo pid,cmd | more
opsi -eo akan menampilkan semua proses dalam format sesuai definisi user yaitu terdiri dari kolom PID dan CMD

Output :

  PID CMD
    1 /sbin/init
    2 [kthreadd]
    3 [ksoftirqd/0]
    6 [migration/0]
    7 [migration/1]
    9 [ksoftirqd/1]
   11 [migration/2]
   12 [kworker/2:0]
   13 [ksoftirqd/2]
   14 [migration/3]
   16 [ksoftirqd/3]
   17 [cpuset]
   18 [khelper]
   19 [netns]
   21 [sync_supers]
   22 [bdi-default]

5.                  $ ps -eo pid,ppid,%mem,cmd | more
akan menampilkan kolom PID, PPID dan %MEM.
PPID adalah proses ID dari proses parent.
%MEM menampilkan persentasi memori sistem yang digunakan proses. (jika proses hanya menggunakan sedikit memori sistem, akan ditampilkan 0.

Output :

  PID  PPID %MEM CMD
    1     0  0.0 /sbin/init
    2     0  0.0 [kthreadd]
    3     2  0.0 [ksoftirqd/0]
    6     2  0.0 [migration/0]
    7     2  0.0 [migration/1]
    9     2  0.0 [ksoftirqd/1]
   11     2  0.0 [migration/2]
   12     2  0.0 [kworker/2:0]
   13     2  0.0 [ksoftirqd/2]
   14     2  0.0 [migration/3]
   16     2  0.0 [ksoftirqd/3]
   17     2  0.0 [cpuset]
   18     2  0.0 [khelper]
   19     2  0.0 [netns]
   21     2  0.0 [sync_supers]
   22     2  0.0 [bdi-default]

Percobaan 4 :

1.                  $ yes
menggunakan perintah yes untuk mengirimkan output y yang tidak pernah berhenti kecuali menggunakan perintah Ctrl-C untuk menghentikannya

Output :

y
y
y
y
y
y
y
y
y
y
y
y
y
y
^C

2.                  $ yes > /dev/null
untuk membelokkan standart output ke direktori /dev/null, dan untuk menghentikannya mengguanakan Ctrl-C

3.                  $ yes > /dev/null &
merupakan salah satu cara agar perintah yes tetap dijalankan tetapi shell tetap digunakan untuk hal yang lain dengan meletakkan proses pada background dengan menambahkan karakter ' & ' pada akhir perintah.
(namun entah mengapa, saat saya melakukan perintah ini, lalu menekan enter, muncul :
[1] 5890
kemudian saya enter lagi
[2] 5892
[3] 5894)

4.                  $ jobs
untuk melihat status proses menggunakan perintah jobs.

Output :

[1]   Running                 yes > /dev/null &
[2]-  Running                 yes > /dev/null &
[3]+  Running                 yes > /dev/null &

analisa :
[1] , [2], dan [3] merupakan nomer job atau PID proses .

5.                  $ kill % <nomer job>
untuk menghentikan job, menggunakan perintah kill diikuti job number atau PID proses.
Untuk identifikasi job number, diikuti prefix dengan karakter “%” .
contoh :
$ kill %1
kemudian muncul :
[1] Terminated                 yes > /dev/null
berarti perintah $ kill %1 telah berhasil dilaksanakan .

6.                  $ jobs
lihat status job setelah diterminasi .

Output :

[2]-  Running                 yes > /dev/null &
[3]+  Running                 yes > /dev/null &
[4]+ Terminated                 yes > /dev/null

menunjukkan perintah $ kill %1 yang berhasil .

Kesimpulan :
dengan keunggulan LINUX yang bersifat Open Source, kita bisa melakukan  banyak hal seperti mengatur jalannya operasi , entah itu melihat kondidi proses, status proses, serta menghentikan suatu proses .

No comments:

Post a Comment

Twitter Bird Gadget