Jumat, 11 April 2014

Proses dan Manajemen Proses

Proses dan Manajemen Proses
Proses adalah Program yang sedang dieksekusi. Setiap kali menjalankan suatu program, Sistem UNIX melakukan suatu fork, yaitu melakukan beberapa urutan operasi untuk membuat suatu proses konteks dan kemudian mengeksekusi program tersebut dalam konteks yang sudah dibuat. Oleh karena itu kita harus menguasai Manajemen Proses Linux. Manajemen Proses Linux adalah salah satu hal yang sangat penting yang harus dikuasai oleh seorang Teknisi Komputer. Kenapa? Karena selain kita mengetahui proses di Windows, kita harus tahu proses di Linux dan dengan penguasaan manajemen prose ini kita bisa mengetahui proses apa saja yangrunning pada setiap user. Atau dalam suatu jaringan juga kita bisa melakukan controllingterhadap proses setiap client.

      Dalam Manajemen proses beberapa hal penting yang harus dikuasai, yaitu :
1. Mengetahui proses yang terjadi Linux
2. Dapat melakukan proses controlling terhadap proses di Linux
3. Menghentikan proses yang tidak dibutuhkan dan mengurangi performa Linux

Untuk itu kita harus mempelajari Manajemen Proses pada Linux. Perintah inti dari proses manajemen proses di Linux adalah :
1. ps
2. kill


Sebelum kita mempelajari mengenai perintah ps, dan kill, kita harus mengetahui sedikit demi sedikit mengenai proses, jenisnya, dll. OK Check it out!


Tipe-tipe Proses dalam Linux

Tipe-tipe proses dalam Linux, dibagi ke dalam 3 bagian, yaitu :

  1. Interactive : Proses yang diprakarsai oleh sebuah shell dan berjalan dalam foreground dan background. seperti : terminalsoftware running, dll.
  2. Batch        : Sebuah seri dari proses-proses yang dijadwalkan untuk dieksekusi pada suatu waktu tertentu, proses batch ini juga tidak berhubungan dengan terminal, tapi menunggu dieksekusi secara sekuensial.
  3. Daemon    : Proses yang diinisialisasi saat booting  untuk membentuk suatu fungsi-fungsi sistem yang dibutuhkan, bila tidak ada request maka akan berada pada keadaanidle, seperti : LPD, NFS, dan DNS.

IDENTITAS PROSES


Berikut adalah beberapa identitas dari Proses yang ada di Linux :
1. PID ( Proccess ID )
   adalah pengenalan unik suatu proses, dimana digunakan untuk menentukan proses-proses mana yang di bawa saat suatu aplikasi dijalankan atau melakukan proses pengiriman signal, mengubah, dan menunggu proses lainnya. PID sendiri  merupakan bilangan 32 bit yang dibatasi oleh Linux dari range 0-32767 untuk menjamin kompatibilitas dengan UNIX tradisional.

2. Credentials ( Mandat )
    adalah Pengaturan akses yang dipengaruhi oleh User ID dan Group ID. Jadi kita dapat mengatur hak akses atau Credetials setiap user, group, dll.

3. Personality
    adalah sebuah hal yang cukup jarang ditemukan dalam sistem UNIX, namun sangat berpengaruh dalam proses system call dan pengiriman signal dari suatu aplikasi.

Status Proses yang dikenali dalam Linux

1. Task Running             : Proses yang siap untuk dieksekusi CPU
2. Task Interruptable      : Proses yang menunggu sebuah kondisi. Interupsi, Sinyal dan aktifitas lain akan mem
                                        bangunkan proses.
3. Task Uninterruptable  : Proses yang sedang sleep, dan tidak dapat di interrupt oleh signal.
4. Task Stopped            : Proses yang dihentikan
5. Task Zombie              : Proses telah berhenti, namun masih memiliki struktur data ditask_struct di task
                                        vektor dan masih memegang sumber daya yang tidak digunakan lagi.

PERINTAH PS


Perintah atau command ps (process status) di gunakan untuk menampilkan informasi proses yang sedang berjalan termasuk nomor PID (Process Identification Number) dari proses tersebut. Proses atau biasa disebut task akan berjalan jika ada sebuah aplikasi yang sedang dijalankan, setiap proses yang berjalan oleh system diberi nomor PID yang unik.




Syntak dasar dari perintah ps adalah
ps [option]
Jika anda menggunakan perintah ps tanpa diikuti option apapun, maka akan ditampilkan output standart dari perintah ps tersebut yang terdiri dari PID, TTY, TIME, dan CMD
contoh:
arie@natty:~$ ps
  PID TTY          TIME CMD
 1815 pts/0    00:00:00 bash
 1869 pts/0    00:00:00 ps
1. Memulai menggunakan perintah ps
Ketikkan perintah berikut untuk menampilkan semua prosess yang sedang berjalan
ps -aux | less
Contoh
arie@natty:~$ ps -aux | less

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0   2920  1812 ?        Ss   02:49   0:00 /sbin/init
root         2  0.0  0.0      0     0 ?        S    02:49   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    02:49   0:00 [ksoftirqd/0]
root         6  0.0  0.0      0     0 ?        S    02:49   0:00 [migration/0]
root         7  0.0  0.0      0     0 ?        S    02:49   0:00 [migration/1]
root         8  0.0  0.0      0     0 ?        S    02:49   0:00 [kworker/1:0]
root         9  0.0  0.0      0     0 ?        S    02:49   0:00 [ksoftirqd/1]
root        10  0.0  0.0      0     0 ?        S    02:49   0:00 [kworker/0:1]
root        11  0.0  0.0      0     0 ?        S<   02:49   0:00 [cpuset]
root        12  0.0  0.0      0     0 ?        S<   02:49   0:00 [khelper]
root        13  0.0  0.0      0     0 ?        S<   02:49   0:00 [netns]
root        15  0.0  0.0      0     0 ?        S    02:49   0:00 [sync_supers]
root        16  0.0  0.0      0     0 ?        S    02:49   0:00 [bdi-default]
root        17  0.0  0.0      0     0 ?        S<   02:49   0:00 [kintegrityd]
root        18  0.0  0.0      0     0 ?        S<   02:49   0:00 [kblockd]
root        19  0.0  0.0      0     0 ?        S<   02:49   0:00 [kacpid]
root        20  0.0  0.0      0     0 ?        S<   02:49   0:00 [kacpi_notify]
root        21  0.0  0.0      0     0 ?        S<   02:49   0:00 [kacpi_hotplug]
root        22  0.0  0.0      0     0 ?        S<   02:49   0:00 [ata_sff]
root        23  0.0  0.0      0     0 ?        S    02:49   0:00 [khubd]
..........
option -a akan menampilkan semua user yang sedang menjalankan proses, option -u berfungsi untuk menampilkan semua proses ylain yang sedang berjalan, option -x berfungsi untuk menampilkan proses yang tidak dikontrol oleh terminal (tty) seperti daemon yang dijalankan saat booting.
2. Menampilkan semua proses yang sedang berjalan pada sistem
ps -A
contoh :
arie@natty:~$ ps -A
  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
   10 ?        00:00:00 kworker/0:1
   11 ?        00:00:00 cpuset
   12 ?        00:00:00 khelper
   13 ?        00:00:00 netns
   15 ?        00:00:00 sync_supers
   16 ?        00:00:00 bdi-default
   17 ?        00:00:00 kintegrityd
   18 ?        00:00:00 kblockd
   19 ?        00:00:00 kacpid
   20 ?        00:00:00 kacpi_notify
   21 ?        00:00:00 kacpi_hotplug
   22 ?        00:00:00 ata_sff
   23 ?        00:00:00 khubd
........
Atau gunakan perintah berikut
ps -e

3. Melihat semua proses yang berjalan kecuali root
ps -U root -u root -N

contoh:
arie@natty:~$ ps -U root -u root -N
  PID TTY          TIME CMD
  611 ?        00:00:00 rsyslogd
  615 ?        00:00:00 dbus-daemon
  658 ?        00:00:00 avahi-daemon
  659 ?        00:00:00 avahi-daemon
  834 ?        00:00:00 xrdp
 1097 ?        00:00:00 gnome-session
 1147 ?        00:00:00 ssh-agent
 1150 ?        00:00:00 dbus-launch
 1151 ?        00:00:00 dbus-daemon
 1156 ?        00:00:00 gconfd-2
 1165 ?        00:00:00 gnome-keyring-d
 1170 ?        00:00:00 gnome-settings-
 1175 ?        00:00:00 gvfsd
 1179 ?        00:00:09 compiz
......
4.Menampilkan proses yang sedang dijalankan oleh user tertentu
ps -u user

contoh :
arie@natty:~$ ps -u arie
  PID TTY          TIME CMD
 1097 ?        00:00:00 gnome-session
 1147 ?        00:00:00 ssh-agent
 1150 ?        00:00:00 dbus-launch
 1151 ?        00:00:00 dbus-daemon
 1156 ?        00:00:00 gconfd-2
 1165 ?        00:00:00 gnome-keyring-d
 1170 ?        00:00:00 gnome-settings-
 1175 ?        00:00:00 gvfsd
 1179 ?        00:00:10 compiz
 1183 ?        00:00:00 pulseaudio
 1195 ?        00:00:00 gvfs-fuse-daemo
 1255 ?        00:00:00 nautilus
 1261 ?        00:00:00 polkit-gnome-au
 1262 ?        00:00:00 bluetooth-apple
 1263 ?        00:00:00 zeitgeist-datah
......
5. Menampilkan proses yang sedang berjalan dalam bentuk bagan
pstree
contoh:
pstree


PERINTAH KILL
    Perintah kill adalah salah satu perintah daasar Linux yang digunakan untuk menghentikan atau mematikan proses yang sedang berjalan pada Sistem Operasi Linux / UNIX. perintah ini sangat penting karena dengan memahami perintah ini kita bisa mengetahui mana proses yang mengganggu performa, tidak dibutuhkan, dll.

Contoh perintah Kill :

$ kill <sinyal> <pid>
PID adalah nomor proses yang akan di hentikan. Tidak tahu PID proses mana yang akan dihentikan? Cobalah bereksperimen dengan perintah:
ps aux | grep <myusername> 



0 komentar:

Posting Komentar