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 .
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 :
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
analisa :
PID adalah Nomer Identitas Proses.
analisa :
[1] , [2], dan [3] merupakan nomer job atau PID proses .
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 .
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 .
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.
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 .
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 .
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 .
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