GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Membunuh Proses di Linux? Perintah untuk Mengakhiri

Pendahuluan

Jika proses Linux menjadi tidak responsif atau menghabiskan terlalu banyak sumber daya, Anda mungkin perlu mematikannya.

Sebagian besar proses memiliki metode shutdown sendiri. Sayangnya, proses dapat tidak berfungsi dan tidak membiarkan dirinya dimatikan. Jika proses latar belakang yang berjalan tidak responsif, Anda perlu menggunakan perintah untuk mematikannya.

Berikut panduan lengkap tentang cara mematikan proses Linux menggunakan baris perintah.

Proses Apa yang Dapat Anda Matikan di Linux?

Sebelum mematikan atau menghentikan proses, Anda perlu mempertimbangkan izin.

Seorang pengguna root dapat mematikan semua proses. Anda dapat menambahkan sudo sebelum perintah untuk menjalankannya sebagai root, atau dapatkan shell root dengan su . Kemudian jalankan perintahnya.

Membunuh suatu proses mengirimkan pesan penghentian ke proses yang diberikan. Ada beberapa jenis pesan penghentian termasuk:

  • SIGKILL SIGKILL adalah cara pamungkas untuk membunuh suatu proses. Itu akan selalu mematikan proses dan akan mematikan proses secara tiba-tiba, menghasilkan kesalahan fatal. SIGKILL harus selalu bekerja. Jika tidak berfungsi, sistem operasi telah gagal.
  • SIGTERM SIGTERM mencoba untuk mematikan proses, tetapi tidak seperti SIGKILL, proses tersebut dapat diblokir atau ditangani. Ini dapat dianggap sebagai cara yang lebih lembut untuk mencoba menghentikan suatu proses.

Untuk sebagian besar tujuan, SIGKILL akan menjadi metode tercepat dan paling efektif untuk menghentikan proses.

Langkah 1:Lihat Menjalankan Proses Linux

top perintah adalah cara termudah untuk mendapatkan gambaran lengkap tentang proses yang sedang dijalankan.

Untuk melihat daftar semua proses yang sedang berjalan, gunakan perintah:

top

Perintah atas akan mengungkapkan ID proses dan pengguna, selain jumlah memori dan daya CPU yang digunakan setiap proses.

Untuk mematikan proses langsung dari atas antarmuka, tekan k dan masukkan ID proses.

Untuk keluar dari atas antarmuka, tekan q .

Langkah 2:Temukan Proses untuk Membunuh

Sebelum Anda dapat mematikan suatu proses, Anda harus menemukannya. Ada beberapa cara Anda dapat mencari proses di Linux. Proses dapat ditemukan dengan nama proses (atau sebagian nama proses) atau ID proses (juga dikenal sebagai "pid").

Menemukan Proses dengan Perintah ps

ps perintah menampilkan informasi yang mirip dengan top , meskipun tidak akan dalam bentuk antarmuka. Sebagai gantinya, ps command menyediakan daftar lengkap proses yang berjalan, diformat berdasarkan tag yang Anda tambahkan.

ps <options>

Opsi paling umum untuk ditambahkan ke ini adalah “-aux”:

  • -a . Lihat proses semua pengguna, bukan hanya pengguna saat ini.
  • -u . Berikan informasi mendetail tentang setiap proses
  • -x . Sertakan proses yang dikendalikan bukan oleh pengguna tetapi oleh daemon.

Misalnya, perintah ps -aux akan mengembalikan daftar proses terperinci dari semua proses.

Menemukan PID dengan pgrep atau pidof

Perintah Linux pgrep adalah cara yang lebih kompleks untuk menemukan suatu proses. Perintah ini akan mengembalikan proses berdasarkan kriteria pemilihan tertentu, yang dikenal sebagai pola. Polanya adalah ekspresi reguler, seperti a* , di mana * akan menjadi wildcard.

pgrep <options> <pattern>

Berikut adalah opsi yang dapat digunakan dengan perintah ini:

  • -l . Cantumkan nama proses dan PID.
  • -n . Kembalikan proses yang terbaru.
  • -o . Kembalikan proses yang paling lama.
  • -u . Hanya temukan proses milik pengguna tertentu.
  • -x . Hanya temukan proses yang sama persis dengan pola yang diberikan.

Perintah pgrep -u root menampilkan semua proses yang dimiliki oleh root. Perintah pgrep -u root 'a*' mengembalikan proses yang dimiliki oleh root yang dimulai dengan huruf "a".

pidof perintah digunakan untuk menemukan ID suatu proses, asalkan Anda mengetahui nama prosesnya.

pidof <options> <program>

Beberapa opsi dapat disertakan, seperti:

  • -c . Hanya kembalikan PID dalam satu direktori root.
  • -o . Abaikan PID tertentu (termasuk proses yang akan dihilangkan setelah tanda).
  • -s . Hanya kembalikan satu PID.
  • -x . Juga mengembalikan PID shell yang menjalankan skrip.

Langkah 3:Gunakan Opsi Perintah Bunuh untuk Mengakhiri Proses

Ada beberapa metode berbeda untuk mematikan proses di Linux, tergantung pada apakah Anda mengetahui nama proses yang sedang berjalan, pid proses, atau berapa lama proses telah berjalan.

perintah bunuh semua

killall perintah digunakan untuk mematikan proses berdasarkan nama. Secara default, ini akan mengirim sinyal SIGTERM. killall perintah dapat mematikan banyak proses dengan satu perintah.

killall <process>

Beberapa opsi dapat digunakan dengan killall perintah:

  • -e . Temukan kecocokan yang tepat untuk nama proses.
  • -I . Abaikan huruf besar/kecil saat mencoba menemukan nama proses.
  • -i . Minta konfirmasi tambahan saat menghentikan proses.
  • -u . Hanya matikan proses yang dimiliki oleh pengguna tertentu.
  • -v . Laporkan kembali apakah proses telah berhasil dihentikan.

Selain mematikan proses berdasarkan nama, killall perintah juga dapat digunakan untuk membunuh berdasarkan usia proses, menggunakan perintah berikut:

  • -o . Gunakan flag ini dengan durasi untuk mematikan semua proses yang telah berjalan lebih dari jumlah waktu tersebut.
  • -y . Gunakan flag ini dengan durasi untuk mematikan semua proses yang telah berjalan kurang dari jumlah waktu tersebut.

killall -o 15m perintah akan mematikan semua proses yang lebih lama dari 15 menit, sedangkan perintah killall -y 15m perintah akan mematikan semua proses yang kurang dari 15 menit.

Perintah pkill

pkill perintahnya mirip dengan pgrep perintah, karena akan mematikan proses berdasarkan nama proses, di samping faktor kualifikasi lainnya. Secara default, pkill akan mengirimkan sinyal SIGTERM.

pkill <options> <pattern>

opsi pkill meliputi:

  • -n . Hanya matikan proses terbaru yang ditemukan.
  • -o . Hanya bunuh proses tertua yang ditemukan.
  • -u . Hanya matikan proses yang dimiliki oleh pengguna yang dipilih.
  • -x . Hanya matikan proses yang sama persis dengan polanya.
  • -signal . Kirim sinyal tertentu ke proses, bukan SIGTERM.

bunuh Perintah

Jika Anda mengetahui ID proses, Anda dapat mematikannya dengan perintah:

kill <processID>

kill perintah akan membunuh satu proses pada satu waktu dengan ID proses yang diberikan. Ini akan mengirim SIGTERM sinyal yang menunjukkan suatu proses untuk berhenti. Ia menunggu program untuk menjalankan rutinitas shutdown-nya.

-signal perintah dapat digunakan untuk menentukan sinyal yang bukan SIGTERM.

bunuh -9 Perintah Linux

kill -9 adalah perintah yang berguna ketika Anda perlu mematikan layanan yang tidak responsif. Jalankan dengan cara yang sama seperti kill regular biasa perintah:

kill -9 <processID>

Atau

kill -SIGKILL <processID>

kill -9 perintah mengirim SIGKILL sinyal yang menunjukkan layanan untuk segera dimatikan. Program yang tidak responsif akan mengabaikan kill perintah, tetapi akan dimatikan setiap kali kill -9 perintah dikeluarkan. Gunakan perintah ini dengan hati-hati. Ini melewati rutinitas shutdown standar sehingga semua data yang belum disimpan akan hilang.

Sistem operasi Anda tidak berjalan dengan benar jika sinyal SIGKILL tidak mematikan layanan.

Perintah atas

top command menyediakan antarmuka di mana pengguna dapat menavigasi melalui proses yang sedang berjalan.

top

Untuk mematikan proses tertentu, masukkan k dari antarmuka atas lalu masukkan ID proses yang diinginkan.

perintah xkill

xkill command adalah jenis perintah khusus yang menutup koneksi server tertentu ke klien.

xkill <resource>

Jika server telah membuka sejumlah proses yang tidak diinginkan, xkill akan membatalkan proses ini.

Jika xkill dijalankan tanpa menentukan sumber daya, maka antarmuka akan terbuka yang memungkinkan pengguna memilih jendela untuk ditutup.

Praktek Penting dalam Mengakhiri Proses Linux

  • Bila suatu proses tidak dapat ditutup dengan cara lain, proses tersebut dapat dihentikan secara manual melalui baris perintah.
  • Untuk mematikan proses di Linux, Anda harus menemukan prosesnya terlebih dahulu. Anda dapat menggunakan top , ps , pidof atau pgrep perintah.
  • Setelah Anda menemukan proses yang ingin Anda matikan, Anda dapat menghentikannya dengan killall , pkill , kill , xkill atau top perintah.
  • Saat menghentikan proses, Anda dapat mengirim sinyal penghentian SIGHUP, SIGKILL, atau SIGTERM.
  • Anda harus memiliki izin untuk menghentikan proses, yang dapat diperoleh melalui penggunaan sudo perintah.

Linux
  1. Cara mematikan proses zombie di Linux

  2. Cara Membunuh Proses yang Berjalan di Linux

  3. Bagaimana cara mematikan proses di Linux menggunakan perintah?

  1. Cara Menemukan dan Membunuh Proses Zombie di Linux

  2. Perintah Linux:Cara memanipulasi prioritas proses

  3. Linux:Temukan dan Bunuh Proses Zombie

  1. Cara mematikan proses atau menghentikan program di Linux

  2. Cara Mendaftar Proses yang Berjalan di Linux

  3. Cara Menjeda/Melanjutkan Proses di Linux