Dalam bab ini, kita akan membahas secara rinci tentang manajemen proses di Unix. Saat Anda menjalankan program pada sistem Unix Anda, sistem akan menciptakan lingkungan khusus untuk program itu. Lingkungan ini berisi semua yang dibutuhkan agar sistem menjalankan program seolah-olah tidak ada program lain yang berjalan di sistem.

Manajemen Proses di Unix

Kapan pun Anda mengeluarkan perintah di Unix, itu menciptakan, atau memulai, sebuah proses baru. Saat Anda mencoba perintah ls untuk mendaftarkan isi direktori, Anda memulai sebuah proses. Suatu proses, secara sederhana, merupakan turunan dari sebuah program yang sedang berjalan.

Sistem operasi melacak proses melalui nomor ID lima digit yang dikenal sebagai pid atau ID proses. Setiap proses dalam sistem memiliki pid yang unik.

Pids akhirnya diulang karena semua nomor yang mungkin digunakan dan gulungan pid berikutnya atau dimulai lagi. Pada setiap titik waktu, tidak ada dua proses dengan pid yang sama ada di sistem karena ini adalah pid yang digunakan Unix untuk melacak setiap proses.

Memulai sebuah Proses

Saat Anda memulai sebuah proses (jalankan perintah), ada dua cara untuk menjalankannya –

  • Proses latar depan
  • Proses Latar Belakang

Proses latar depan

Secara default, setiap proses yang Anda mulai berjalan di latar depan. Ini mendapat masukan dari keyboard dan mengirimkan hasilnya ke layar.

Anda bisa melihat ini terjadi dengan perintah ls. Jika Anda ingin mencantumkan semua file di direktori Anda saat ini, Anda dapat menggunakan perintah berikut –

$ls ch*.doc

Ini akan menampilkan semua file, nama yang diawali dengan ch dan diakhiri dengan .doc –

ch01-1.doc   ch010.doc  ch02.doc    ch03-2.doc 
ch04-1.doc   ch040.doc  ch05.doc    ch06-2.doc
ch01-2.doc   ch02-1.doc

Proses berjalan di latar depan, output diarahkan ke layar saya, dan jika perintah ls menginginkan masukan apa pun (yang tidak), ia menunggu dari keyboard.

Sementara sebuah program berjalan di latar depan dan memakan waktu, tidak ada perintah lain yang dapat dijalankan (memulai proses lain) karena prompt tidak akan tersedia sampai program selesai diproses dan dikeluarkan.

Proses Latar Belakang

Proses latar belakang berjalan tanpa terhubung ke keyboard Anda. Jika proses latar belakang memerlukan input keyboard, itu menunggu.

ARTIKEL LAINYA:  Bagaimana Editor VI Bekerja di Unix/Linuk Panduan Hacking Untuk Pemula

Keuntungan menjalankan proses di latar belakang adalah Anda dapat menjalankan perintah lainnya; Anda tidak perlu menunggu sampai selesai untuk memulai yang lain!

Cara termudah untuk memulai proses background adalah dengan menambahkan ampersand ( & ) pada akhir perintah.

$ls ch*.doc &

Ini menampilkan semua file yang namanya diawali dengan ch dan diakhiri dengan .doc –

ch01-1.doc   ch010.doc  ch02.doc    ch03-2.doc 
ch04-1.doc   ch040.doc  ch05.doc    ch06-2.doc
ch01-2.doc   ch02-1.doc

Di sini, jika perintah ls menginginkan masukan apapun (yang tidak), ia masuk ke keadaan berhenti sampai kita memindahkannya ke latar depan dan memberikannya data dari keyboard.

Baris pertama berisi informasi tentang proses latar belakang – nomor pekerjaan dan ID proses. Anda perlu mengetahui nomor pekerjaan untuk memanipulasinya antara latar belakang dan latar depan.

Tekan tombol Enter dan Anda akan melihat yang berikut –

[1]   +   Done                 ls ch*.doc &
$

Baris pertama memberitahu Anda bahwa proses latar belakang perintah ls selesai dengan sukses. Yang kedua adalah prompt untuk perintah lain.

Daftar menjalankan proses

Sangat mudah untuk melihat proses Anda sendiri dengan menjalankan perintah ps (status proses) sebagai berikut –

$ps
PID       TTY      TIME        CMD
18358     ttyp3    00:00:00    sh
18361     ttyp3    00:01:31    abiword
18789     ttyp3    00:00:00    ps

Salah satu flag yang paling sering digunakan untuk ps adalah opsi f (f for full), yang memberikan lebih banyak informasi seperti yang ditunjukkan pada contoh berikut –

$ps -f
UID      PID  PPID C STIME    TTY   TIME CMD
amrood   6738 3662 0 10:23:03 pts/6 0:00 first_one
amrood   6739 3662 0 10:22:54 pts/6 0:00 second_one
amrood   3662 3657 0 08:10:53 pts/6 0:00 -ksh
amrood   6892 3662 4 10:51:50 pts/6 0:00 ps -f

Berikut adalah deskripsi semua bidang yang ditampilkan oleh perintah ps -f –

S.No. Kolom & Deskripsi
1 UID

User ID yang proses ini termasuk (orang yang menjalankannya)

2 PID

ID proses

3 PPID

ID proses orang tua (ID proses yang memulai)

4 C

Penggunaan CPU proses

5 STIME

Proses waktu mulai

6 TTY

Tipe terminal berhubungan dengan proses

7 TIME

Waktu CPU diambil oleh prosesnya

8 CMD

Perintah yang memulai proses ini

Ada pilihan lain yang bisa digunakan bersamaan dengan perintah ps –

S.No. Opsi & Deskripsi
1 -a

Menunjukkan informasi tentang semua pengguna

2 -x

Menunjukkan informasi tentang proses tanpa terminal

3 -u

Menunjukkan informasi tambahan seperti -f pilihan

4 -e

Menampilkan informasi tambahan

Menghentikan Proses

Mengakhiri proses bisa dilakukan dengan berbagai cara. Seringkali, dari perintah berbasis konsol, mengirimkan CTRL + C keystroke (karakter interupsi default) akan keluar dari perintah. Ini bekerja saat proses berjalan dalam mode latar depan.

Jika proses berjalan di latar belakang, Anda harus mendapatkan ID Ayub menggunakan perintah ps. Setelah itu, Anda dapat menggunakan membunuhperintah untuk membunuh proses sebagai berikut –

$ps -f
UID      PID  PPID C STIME    TTY   TIME CMD
amrood   6738 3662 0 10:23:03 pts/6 0:00 first_one
amrood   6739 3662 0 10:22:54 pts/6 0:00 second_one
amrood   3662 3657 0 08:10:53 pts/6 0:00 -ksh
amrood   6892 3662 4 10:51:50 pts/6 0:00 ps -f
$kill 6738
Terminated

Di sini, perintah kill menghentikan proses first_one. Jika sebuah proses mengabaikan perintah kill biasa, Anda bisa menggunakan kill -9 diikuti oleh ID proses sebagai berikut –

$kill -9 6738
Terminated

Proses Induk dan Anak

Setiap proses unix memiliki dua nomor ID yang ditetapkan padanya: ID Proses (pid) dan ID proses orang tua (ppid). Setiap proses pengguna dalam sistem memiliki proses induk.

Sebagian besar perintah yang Anda jalankan memiliki cangkang sebagai induk mereka. Periksa contoh ps -f dimana perintah ini mencantumkan ID proses dan ID proses induk.

Proses Zombie dan Orphan

Biasanya, ketika proses anak terbunuh, proses orang tua diperbarui melalui sinyal SIGCHLD. Kemudian orang tua bisa melakukan beberapa tugas lain atau memulai kembali anak baru sesuai kebutuhan. Namun, terkadang proses induknya terbunuh sebelum anaknya terbunuh. Dalam kasus ini, “induk dari semua proses,” proses init, menjadi PPID baru (parent process ID). Dalam beberapa kasus, proses ini disebut proses yatim piatu.

Ketika suatu proses tewas, seorang ps daftar mungkin masih menunjukkan proses dengan Z negara. Ini adalah proses zombie atau dead. Prosesnya sudah mati dan tidak digunakan. Proses ini berbeda dengan proses yatim piatu. Mereka telah menyelesaikan eksekusi tapi masih menemukan entri di tabel proses.

Proses Daemon

Daemon adalah proses latar belakang yang terkait dengan sistem yang sering dijalankan dengan izin permintaan root dan layanan dari proses lainnya.

Sebuah dasmon tidak memiliki terminal pengendali. Itu tidak bisa dibuka / dev / tty. Jika Anda melakukan “ps -ef” dan melihat bidang tty, semua daemon akan memiliki untuk tty.

Tepatnya, daemon adalah proses yang berjalan di latar belakang, biasanya menunggu sesuatu terjadi sehingga mampu bekerja sama. Misalnya, daemon printer menunggu perintah cetak.

Jika Anda memiliki program yang memerlukan pemrosesan yang panjang, sebaiknya Anda membuatnya menjadi dasmon dan menjalankannya di latar belakang.

Perintah teratas

The top perintah adalah alat yang sangat berguna untuk cepat menunjukkan proses diurutkan dengan berbagai kriteria.

Ini adalah alat diagnostik interaktif yang sering memperbarui dan menampilkan informasi tentang memori fisik dan virtual, penggunaan CPU, rata-rata beban, dan proses sibuk Anda.

Berikut adalah sintaks sederhana untuk menjalankan perintah puncak dan untuk melihat statistik penggunaan CPU dengan proses yang berbeda –

$top

ID Proyek Versus Process ID

Proses background dan suspended biasanya dimanipulasi melalui job number (job ID). Nomor ini berbeda dengan proses ID dan digunakan karena lebih pendek.

Selain itu, pekerjaan dapat terdiri dari beberapa proses yang berjalan dalam rangkaian atau pada saat bersamaan, secara paralel. Menggunakan ID pekerjaan lebih mudah daripada melacak proses individual.

uzie......borot

Saya ini blogger paruh waktu asal Cilacap. Pekerjaan utama saya saat ini hanyalah tukang pijit di salah satu mall di Bogor.

uzie......borot

Saya ini blogger paruh waktu asal Cilacap. Pekerjaan utama saya saat ini hanyalah tukang pijit di salah satu mall di Bogor.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *