MANAJEMEN PROSES
- Background Proses
Background Proses dapat dilakukan dengan menjalankan sebuah perintah diikuti dengan tanda (&).
Pada kondisi ini shell tidak akan menunggu sampai eksekusi perintah berakhir.
Contoh:
$ls –lR / > lsroot 2 > & 1 &
Perintah ls beserta pesan kesalahan ditempatkan ke file lsroot dan dilakukan secara background
- Status Proses
Untuk mengetahui kondisi proses yang ada, di ubuntu bisa menggunakan perintah (ps) yang akan menampilkan proses yang saat itu dilakukan oleh sebuah terminal (tty).
Contoh:
ps –u (nama user)
ps –e (proses group leader)
ps –f (full listing)
ps –auxww (untuk menampilkan detil tentang setiap proses yang berjalan.
a. User : Username dari proses (jika proses memiliki UID yang tidak sesuai dengan /etc/passwd, perlu berhati-hati karena dimungkinkan terjadi proses penyerangan).
b. PID : Proses Identification Number
c. %CPU : Persentase CPU yang terpakai.
d. %MEM : Persentase Memory yang digunakan.
e. SZ : Jumlah virtual memori yang digunakan proses.
f. RSS: Resident set size, jumlah proses physical memory yang ditempati proses.
g. TT: Terminal yang mengontrol proses.
h. STAT : Field yang menunjukkan status proses.
i. TIME : CPU time yang sedang digunakan.
j. COMMAND : Nama Perintah
1) R : Actually running or runnable
2) S : Sleeping
3) I : Idle
4) T : Stop
5) H : Halted
6) P : In page wait
7) D : In Disk wait
8) Z : Zombie
- Menghentikan Proses
Kadang kala ada kegiatan yang harus dihentikan. Beberapa hal yang menyebabkan hal ini dilakukan adalah:
a. Proses terlalu banyak menghabiskan CPU time
b. Proses berjalan terlalu lama tanpa menghasilkan output yang diharapkan.
c. Proses memproduksi terlalu banyak output pada layar atau ke sebuah file.
d. Proses mengunci terminal atau beberapa sesi lain.
e. Proses sudah tidak diperlukan lagi.
Sebenarnya untuk menghentikan proses yang tidak berada pada background, cukup dengan menekan tombol <ctrl+c>.
Namun untuk menghentikan proses yang berada pada background bisa dilakukan dengan perintah:
kill [-s signal name] pid [..]
kill –l [exit_status]
kill – signal_name pid [..]
kill – signal_number pid […]
a. HUP (hang up)
b. INT (interrupt)
c. QUIT (quit)
d. ABRT (abort)
e. KILL (non-catchable, non-ignorable kill)
f. ALRM (alarm clock)
g. TERM (software termination signal)
Contoh:
Kill 123 (menghentikan proses dengan pid 123)
Kill -9 1234 (menghentikan dengan paksa pid 1234)
Kill –HUP cat /var/run/inetd.pid (mengirimkan hang up signal kepada daemon ined dengan PID seperti yang tersimpan ada /var/run/inetd.pid dan meminta proses untuk membaca ulang susunan konfigurasi /etc/inetd.conf
Kill -0 menghentikan semua proses yang sedang berjalan di background.
- Jobs
Adalah fasilitas yang memungkinkan suatu program dihentikan secara sementara dan kemudian dijalankan kembali.
Fasilitas ini dapat dipakai untuk memindahkan program yang sedang berjalan secara background ke foreground atau sebaliknya.
Untuk mengetahui fasilitas ini sudah dijalankan atau belum, dapat diketahui dengan perintah:
$set –o | grep monitor
Monitor on (artinya jobs sudah aktif)
Jika belum bisa mengetikan perintah
$set –o monitor
$set -m
Untuk menjalankan perintah background, perlu akhiran (&) disetiap perintah yang dijalankan.
$find / - name *.c –print > c.out 2> c.error &
Perintah ini untuk memperoleh semua file berakhiran *.c dari root (/) dan hasilnya ditempatkan di c.out
$du / > du.out 2>1 &
Perintah du digunakan untuk memperoleh blok dari setiap file atau direktori.
$sleep 500 & # tidak melakukan apa-apa selama 500 detik
$jobs
<hasil jobs>
$jobs -p
- Penjadwalan Proses
Digunakan untuk membuat jadwal perintah kepada sistem, misalnya: proses pengiriman log file, yang dilakukan setiap jam 21.00, melakukan pemutusan koneksi ke Internet Internasional, dll.
Adapun beberapa perintah yang bisa digunakan, sbb:
a. At (waktu)
a. Melakukan pencetakan file yang terdapat pada direktori /home/dobestry/tomy dan melakukan pengiriman email pemberitahuan kepada user yang bernama dobestry bahwa pekerjaan pencetakan telah dilakukan jam 01.40 a.m
i. $at 01.40
ii. lp /home/dobestry/tomy
iii. echo “file sudah dicetak Mas !” |ssmtp “Laporan”
iv. <ctrl+D>
b. Batch (menemukan waktu yang pas)
a. Perintah dilakuan ketika sistem tidak terlalu sibuk (Sifat pekerjaan tidak terlalu urgent)
i. $batch
ii. lp /home/dobestry/tomy/*
iii. echo “file sudah dicetak Om!” | ssmtp “laporan” dobestry@stikom.edu
c. Cron (menjalankan perintah secara periodik) + Crontab mengizinkan untuk mengedit perintah di cron)
5 bintang (*) diatas merepresentasikan bagian2 format tanggal yang berbeda, urutannya sebagai berikut :
1. (* pertama) : menit (isian : 0 – 59)
2. (* kedua) : jam (isian : 0 – 23)
3. (* ketiga) : hari dari bulan / tanggal (isian : 1 – 31)
4. (* keempat) : bulan (isian : 1 – 12)
5. (* kelima) : hari dari minggu (isian : 0 – 6) –> 0 = minggu
1. (* pertama) : menit (isian : 0 – 59)
2. (* kedua) : jam (isian : 0 – 23)
3. (* ketiga) : hari dari bulan / tanggal (isian : 1 – 31)
4. (* keempat) : bulan (isian : 1 – 12)
5. (* kelima) : hari dari minggu (isian : 0 – 6) –> 0 = minggu
a. Scheduling (berguna untuk melakukan pengaturan terhadap sistem agar tidak terlalu sibuk menjalankan tugas-tugas)
