PROSES MANEJEMEN SISTEM DI UBUNTU
INTRODUCTION
Proses
Proses adalah program yang sedang dieksekusi. Setiap kali menggunakan utilitas sistem atau program aplikasi dari shell, satu atau lebih dari proses -child- akan di buat shell sesuai dengan perintah yang dibuat.
Fungsi proses ps.pstree.
Perintah ps digunakan untuk melihat kondisi proses yang ada. Sedangkan untuk pstree digunakan untuk menampilkan semua proses pada sistem dalam bentuk hierarki parent.
Opsi yang dapat diberikan pada perintah ps
- $ ps = melihat kondisi proses yang ada
- $ ps -u = melihat elemen lainnya
- $ ps -u
= mencari proses yang spesifik dari user - $ ps -a = mencari proses yang lain.
- $ ps -au = mencari proses yang lain.
- $ ps -eH = memilih semua proses dan menampilkannya
- $ ps -e f = menampilkan status proses dengan karakter grafis
- $ pstree = menampilkan semua proses pada system dalam hirarki parent / child.
- $ pstree | grep mingetty = menampilkan semua proses mingetty yang berjalan pada sistem yang berupa console virtual, kemudian menampilkan semua proses dalam satu baris yang berupa suatu angka.
- $ pstree -p = melihat semua PID (process identity).
- $ pstree -h = menampilkan proses dan asector yang tercetak tebal.
- $ pstree -e | more = menampilkan proses dalam bentuk 4 (empat) kolom.
- $ ps ax | more = menampilkan semua proses yang dihasilkan terminal dan begitu sebaliknya.
- $ ps ef | more = menampilkan semua proses dalam bentuk full list .
- $ ps -eo pid, cmd | more = menampilkan semua proses dalam format sesuai dengan definisi user yang terdiri dari kolom PID (process identity) dan CMD (command)
- $ ps -eo pid, ppid, %mem, cmd | more = menampilkan kolom PID (process identity),PPID (parent process identity), dan %mem (presentasi memori yang digunakan oleh suatu proses).
Sinyal
Sinyal adalah suatu gejala fisika dimana satu atau beberapa karakteristiknya melambangkan informasi. Perintah untuk mengirimkan sinyal adalah kill [ nomorsinyal] PID.
Proses foreground dan background pada job control\
Proses foreground = proses yang diciptakan oleh user pada terminal (interaktif, dialog). Foreground hanya untuk satu job pada satu waktu. Job pada foreground akan mengontrol shell (menerima input dari keyboard dan mengirim output ke layar)
Proses background = proses yang tidak dapat menerima input dari terminal, biasanya berjalan tanpa memerlukan interaksi.
Perintah-perintah penjadwalan prioritas ada 3,
yaitu : Top, nice, renice
1. Top = digunakan untuk menampilkan proses pada CPU. Bisa juga digunakan untuk menampilkan dan penggunaan resource yang paling aktif.
2. Nice = digunakan untuk melakukan modifikasi terhadap program yang akan mendapatkan prioritas penjadwalan proses.
3. Renice = digunakan untuk memberikan prioritas pada proses yang sedang berjalan.
Percobaan 1: Status proses
Pindah ke command line terminal (tty2) dengan menekan CTRL+Alt+F2 dan login ke terminal sebagai user.
Instruksi ps (process status) digunakan untuk melihat kondisi proses yang ada. PID adalah nomor identitas proses. Proses TTY adalah nama terminal dimana proses tersebut aktif. STAT berisi S (sleeping) dan R (running). COMMAND merupakan instruksi yang digunakan $ ps
Untuk melihat faktor atau elemen lainnya, gunakan 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. $ ps -u
Mencari proses yang spesifik pemakai. Proses diatas hanya terbatas proses milik pemakai, dimana pemakai tersebut melakukan login $ ps -u<user>
Mencari proses lainnya gunakan opsi a (all)dan au (all user) $ ps -a
$ ps -au
logout dan tekan Alt+F7 untuk kembali ke mode grafis
Percobaan 2: Menampilkan Hubungan Proses Parent dan Child
Pindah ke command line terminal (tty2) dengan menekan CTRL+Alt+F2 dan login ke terminal sebagai user
Ketik "ps -eH" dan tekan enter. Opsi e memilih semua proses dan opsi H menghasilkan tampilan proses secara hierarki. Proses child muncul dibawah prosesparent. Proses child ditandai dengan awalan beberapa spasi. $ ps -eH
Ketik "ps -e f" dan tekan enter. Tampilan serupa dengan langkah 2. Opsi f akan menampilkan status proses dengan karakter gratis (\dan_) $ ps -e f
Ketik "pstree" dan tekan enter. Akan ditampilkan semua proses pada system dalam bentuk hirarki parent atau child. Proses parent di sebelah kiri proses child. Sebagai contoh, proses init sebagai parent (anchestor) dari semua proses pada sistem. Beberapa child dari init mempunyai child. Proses login mempunyai proses bash sebagai child. Proses bash mempunyai proses child startx. Proses startx mempunyai child xinit dan seterusnya. $ pstree
Ketik pstree | grep mingetty dan tekan enter. Akan menampilkan semua proses mingetty yang berjalan pada sistem yang berupa console virtual . selain menampilkan semua proses, proses dikelompokkan dalam satu baris dengan suatu angka sebagai jumlah proses yang berjalan. $ pstree | grep mingetty
Untuk melihat semua PID untuk proses gunakan opsi -p $ pstree -p
Untuk menampilkan proses dan ancestor yang tercetak tebal gunakan opsi -h $ pstree -h
Percobaan 3: Menampilkan Status Proses dengan Berbagai Format
pindah ke command line terminal (tty2) dengan menekan CTRL+Alt+F2 dan login ke terminal sebagai user.
Ketik ps -e | more dan tekan enter. Opsi -e menampilkan semua proses dalam bentuk 4 kolom: PID, TTY, TIME, dan CMD. $ ps -e | more
Jika halaman penuh, terlihat prompt --More-- di bagian bawah screen, tekan q untuk kembali ke prompt perintah
Ketik "ps ax | more" dan tekan enter. Opsi a akan menampilkan semua proses yang dihasilkan terminal (TTY). Opsi x menampilkan semua proses yang tidak dihasilkan terminal. Secara logika, opsi ini sama dengan opsi -e. Terdapat 5 kolom: PID, TTY, STAT, TIME, dan COMMAND. $ ps ax | more
Jika halaman penuh, terlihat prompt --More-- di bagian bawah screen, tekan q untuk kembali ke prompt perintah
Ketik "ps -e f | more" dan tekan enter. Opsi -e f akan menampilkan semua proses dalam format daftar penuh $ ps -e f | more
Ketik "ps -eo pid,cmd | more" dan tekan enter. Opsi -eo akan menampilkan semua proses dalam format sesuai definisi user yaitu terdiri dari kolom PID dan CMD $ ps -eo pid,cmd | more
Ketik "ps -eo pid, ppid, %mem, cmd | more" dan tekan enter. Akan menampilkan kolom PID, PPID, dan %MEM. PPID adalah proses ID dari proses parent. %MEM menampilkan presentasi memori sistem yang digunakan proses. Jika proses hanya menggunakan sedikit memori sistem akan ditampilkan 0. $ ps -eo pid,ppid,%mem,cmd | more
Logout dan tekan Alt+F7 untuk kembali ke mode grafis
Percobaan 4: Mengontrol proses pada shell
Pindah ke command line terminal (tty2) dengan menekan CTRL+Alt+F2 dan login ke terminal sebagai user.
Gunakan perintah yes yang mengirim output y yang tidak pernah berhenti $ yes
Untuk menghentikannya gunakan CTRL+C
Belokkan standard output ke /dev/null $ yes > /dev/null
Untuk menghentikannya gunakan CTRL+C
Salah satu cara agar perintah yes tetap di jalankan tetapi shell tetap digunakan untuk hal yang lain dengan meletakkan proses pada background dengan menambah karakter “&” pada akhir perintah $ yes > /dev/null
Angka dalam “[]” merupakan job number diikuti PID.
Untuk melihat status proses, gunakan perintah jobs $ jobs
Untuk menghentikan job , gunakan perintah kill diikuti perintah job number atau PID proses. Untuk identifikasi job number, diikuti prefix dengan karakter '%' $ kill %
contoh: kill %1 Lihat status job setelah diterminasi $ jobs