Apa itu proses
Proses, juga dikenal sebagai tugas, adalah bentuk program yang sedang berjalan. Program disimpan di disk dan proses berjalan di memori. Proses memiliki hubungan orang tua/anak. Suatu proses dapat menelurkan satu atau lebih anak. Beberapa proses dapat berjalan secara paralel.
Mencantumkan Proses Sistem
Perintah status proses (ps) mencantumkan proses yang terkait dengan shell Anda.
# ps [options]
Untuk setiap proses, perintah ps menampilkan PID , pengenal terminal (TTY ), waktu eksekusi kumulatif (TIME ), dan nama perintah (CMD ). Misalnya, buat daftar proses yang sedang berjalan pada sistem menggunakan perintah ps.
# ps PID TTY TIME CMD 1442 pts/1 00:00:00 sudo 1448 pts/1 00:00:00 su 1449 pts/1 00:00:00 bash 1666 pts/1 00:00:00 ps
Perintah ps memiliki beberapa opsi yang dapat Anda gunakan untuk menampilkan informasi proses tambahan.
- -a :Mencetak informasi tentang semua proses yang paling sering diminta, kecuali pemimpin grup proses dan proses yang tidak terkait dengan terminal
- -e :Mencetak informasi tentang setiap proses yang sedang berjalan
- -f :Menghasilkan daftar lengkap
- -l :Menghasilkan daftar panjang
- format-o :Menulis informasi sesuai dengan spesifikasi format yang diberikan dalam format. Beberapa opsi -o dapat ditentukan. Spesifikasi format ditafsirkan sebagai rangkaian yang dipisahkan spasi dari semua argumen opsi format.
Mencantumkan Semua Proses
Misalnya, gunakan ‘ps -ef ' perintah untuk membuat daftar semua proses yang saat ini dijadwalkan untuk dijalankan pada sistem.
# ps -ef | more
Di sini,
- UID :Nama pengguna pemilik proses
- PID :Nomor identifikasi proses unik dari proses
- PPID :Nomor identifikasi proses induk dari proses
- STIME :Waktu proses dimulai (jj:mm:dd)
- TTY :Terminal pengontrol untuk proses. Perhatikan bahwa proses sistem (daemon) menampilkan tanda tanya (?), yang menunjukkan proses dimulai tanpa menggunakan terminal.
- WAKTU :Waktu eksekusi kumulatif untuk proses
- CMD :Nama perintah, opsi, dan argumen
Mengakhiri Proses
Mungkin ada saatnya Anda harus menghentikan proses yang tidak diinginkan. Suatu proses mungkin telah masuk ke dalam lingkaran tanpa akhir, atau mungkin macet. Anda dapat mematikan atau menghentikan proses apa pun yang Anda miliki. Anda dapat menggunakan dua perintah berikut untuk menghentikan satu atau lebih proses:
– kill
– pkill
Perintah kill dan pkill mengirim sinyal ke proses yang mengarahkan mereka untuk berhenti. Setiap sinyal memiliki nomor, nama, dan peristiwa terkait. Berikut adalah beberapa sinyal yang paling umum digunakan beserta fungsinya.
Mengakhiri Proses menggunakan Perintah kill
Anda dapat menghentikan proses apapun dengan mengeluarkan sinyal yang sesuai untuk proses yang bersangkutan. Perintah kill mengirimkan sinyal 15, sinyal penghentian, secara default. Sinyal ini menyebabkan proses berhenti secara teratur. Perintah kill mengirimkan sinyal penghentian ke satu atau lebih proses. Sintaks untuk menggunakan perintah kill adalah sebagai berikut :
# kill [-signal] PIDsCatatan :Perintah kill hanya menghentikan proses-proses yang Anda miliki. Pengguna root dapat menggunakan perintah kill pada proses apa pun.
Anda perlu mengetahui PID proses sebelum Anda dapat menghentikannya. Anda dapat menggunakan perintah ps atau pgrep untuk menemukan PID proses. Selain itu, Anda dapat menghentikan beberapa proses secara bersamaan dengan memasukkan beberapa PID pada satu baris perintah. Mari kita lihat contoh perintah kill. Kami akan menghentikan proses 'sleep 400' seperti yang ditunjukkan di bawah ini.
# ps -ef | grep sleep root 1337 1218 0 07:33 pts/0 00:00:00 sleep 400
# kill -9 1337
# ps -ef | grep sleep #
Mengakhiri Proses menggunakan Perintah pkill atau killall
Atau, Anda dapat menggunakan perintah pkill atau killall untuk mengirim sinyal penghentian ke proses.
# pkill [-options] PIDs
atau
# killall [-options] PIDs
Perintah pkill/killall mengharuskan Anda untuk menentukan nama alih-alih PID dari proses. Misalnya, gunakan perintah pkill untuk menghentikan proses dtmail.
# pkill dtmail # pgrep -l mail #
Menghentikan Proses Secara Paksa:Sinyal 9
Beberapa proses mengabaikan sinyal default 15 yang dikirim oleh perintah kill. Jika suatu proses tidak merespons sinyal 15, Anda dapat memaksanya untuk mengakhiri dengan menggunakan sinyal 9 dengan perintah kill atau pkill.
# kill -9 PID
atau
# pkill -9 process_nameCatatan :Mengirim sinyal 15 tidak serta merta mematikan proses dengan anggun. Hanya jika sinyal ditangkap oleh proses, ia membersihkan dirinya sendiri secara berurutan dan mati. Jika tidak, ia akan mati.