Manajemen Proses Unix/Linux

Halo, para pemrogram yang sedang berkembang! Hari ini, kita akan memulai perjalanan menarik ke dunia manajemen proses Unix/Linux. Sebagai guru ilmu komputer yang ramah di lingkungan sekitar Anda, saya sangat senang untuk mengantar Anda melalui konsep fundamental ini. Jangan khawatir jika Anda baru belajar programming – kita akan mulai dari dasar dan kemudian maju. Jadi, ambillah secangkir kopi (atau teh, jika itu hal Anda), dan mari kita masuk ke dalam!

Unix / Linux - Processes

Apa Itu Proses?

Sebelum kita mulai, mari pahami apa sebenarnya proses itu. Bayangkan Anda di dapur yang sibuk. Setiap masak yang bekerja pada makanan tertentu dapat dianggap sebagai proses. Mereka memiliki bahan makanan sendiri (sumber daya), resep (program), dan tujuan (keluaran). Dalam dunia komputer, proses adalah program yang sedang dieksekusi.

Memulai Proses

Memulai proses di Unix/Linux adalah seperti memotong kue! Anda dapat melakukannya dalam dua cara utama:

  1. Proses Di Depan: Ketik perintah dan tekan Enter.
  2. Proses Di Belakang: Tambahkan tanda ampersand (&) di akhir perintah.

mari lihat beberapa contoh:

# Proses di depan
$ ls -l

# Proses di belakang
$ long_running_command &

Dalam contoh pertama, ls -l berjalan di depan, menunjukkan isi direktori. Dalam yang kedua, perintah berjalan di belakang, memungkinkan Anda terus menggunakan terminal.

Menampilkan Proses Yang Berjalan

Sekarang, apa bila Anda ingin melihat semua masak (proses) yang sedang bekerja di dapur Anda (sistem)? Itu adalah saat ps perintah membantu!

$ ps aux

Perintah ini akan menunjukkan semua proses yang berjalan. Itu seperti melihat setiap sudut di dapur Anda!

Berikut adalah penjelasan tentang apa yang Anda lihat:

Kolom Deskripsi
USER Pemilik proses
PID ID Proses
%CPU Penggunaan CPU
%MEM Penggunaan Memori
VSZ Ukuran memori virtual
RSS ukuran set tinggal
TTY Tipe terminal
STAT Status proses
START Waktu mulai
TIME Waktu CPU
COMMAND Nama perintah

Menghentikan Proses

kadang-kadang, proses dapat menjadi liar (seperti masak yang membakar segala sesuatu). Dalam kasus seperti itu, Anda perlu menghentikannya. Berikut adalah cara:

$ kill PID

Ganti PID dengan ID Proses yang Anda ingin menghentikan. Jika Anda merasa keras, Anda dapat menggunakan:

$ kill -9 PID

Ini seperti memecat masak di tempat – itu adalah penghentian paksa!

Proses Parent dan Child

Dalam Unix/Linux, proses memiliki silsilah keluarga. Ketika proses menciptakan proses lain, itu menjadi orang tua, dan proses baru adalah anaknya. Itu seperti chef (proses orang tua) memberikan tugas kepada sous chef (proses anak).

Anda dapat melihat hubungan ini menggunakan:

$ pstree

Perintah ini menunjukkan pohon proses, menggambarkan hubungan orang tua-anak.

Proses Zombie dan Orphan

Sekarang, mari bicara tentang jenis khusus proses:

  1. Proses Zombie: Proses anak yang telah menyelesaikan eksekusi tetapi masih memiliki entri di tabel proses. Itu seperti masak yang menyelesaikan hidangan tetapi belum keluar kerja.

  2. Proses Yatim: Proses yang orang tua nya sudah selesai atau berhenti, tetapi masih berjalan. Bayangkan sous chef yang masih bekerja setelah chef utama pulang.

Untuk melihat jika Anda memiliki proses zombie, Anda dapat menggunakan:

$ ps aux | grep Z

Proses Daemon

Proses daemon adalah seperti staf dapur yang bekerja 24/7. Mereka berjalan di belakang dan menyediakan berbagai layanan. Misalnya, daemon sshd mendengarkan koneksi SSH yang masuk.

Untuk menampilkan semua proses daemon, Anda dapat menggunakan:

$ ps -eo 'tty,pid,comm' | grep ^?

Perintah top

Perintah top adalah monitor dapur Anda yang lengkap. Itu menyediakan pandangan dinamis waktu nyata dari sistem yang berjalan. Berikut cara menggunakannya:

$ top

Anda akan melihat tabel yang mirip dengan ps, tetapi itu diperbarui secara real-time. Itu seperti memiliki siaran langsung dapur Anda!

Job ID Versus Process ID

Akhirnya, mari klarifikasi perbedaan antara Job ID dan Process ID:

  • Process ID (PID): Identifier unik untuk setiap proses di sistem.
  • Job ID: Nomor yang diberikan oleh shell ke proses yang dimulai di belakang.

Anda dapat melihat job IDs menggunakan:

$ jobs

Dan Anda dapat membawa proses belakang ke depan menggunakan:

$ fg %job_id

Ingat, Job IDs khusus untuk sesi shell Anda saat ini, sedangkan PIDs adalah sistem-wide.

Dan begitulah, teman-teman! Kita telah menutupi dasar manajemen proses Unix/Linux. Ingat, latihan membuat sempurna, jadi jangan khawatir untuk mencoba perintah ini di sistem Anda. Hanya hati-hati dengan perintah kill – kita tidak ingin ada penghentian yang tidak disengaja di dapur kami!

Saat kita menyempurnakan, saya teringat tentang insiden lucu dari hari-hari awal pengajaran saya. Saya pernah secara tidak sengaja membunuh proses editor teks saya saat memperlihatkan perintah kill, kehilangan sejam kerja yang belum disimpan. Biar itu lesung – selalu simpan kerja Anda sebelum bermain dengan proses!

Terus memasak proses Anda, dan selamat berkompres!

Credits: Image by storyset