Cara Membunuh Proses Berjalan di Linux

Cara Membunuh Proses Berjalan di Linux

Semua yang berjalan pada sistem Linux - perkhidmatan, skrip, atau apa -apa lagi - dianggap sebagai "proses."Sekiranya anda perlu mengakhiri proses berjalan di Linux, bunuh Perintah pasti melakukan tugas.

Dalam panduan ini untuk pentadbir Linux, kami akan mengatasi bunuh Perintah Linux dan cara menggunakan pelbagai pilihannya untuk berakhir, atau "membunuh," proses berjalan di Linux.

Dalam tutorial ini anda akan belajar:

  • Bagaimana perintah membunuh berfungsi?
  • Bagaimana melihat proses apa yang sedang berjalan
  • Cara Membunuh Proses oleh PID
  • Bagaimana membunuh proses yang enggan menutup
  • Cara Membunuh Proses Dengan Nama
Cara Membunuh Proses Berjalan di Linux

Keperluan perisian dan konvensyen yang digunakan

Keperluan Perisian dan Konvensyen Talian Perintah Linux
Kategori Keperluan, konvensyen atau versi perisian yang digunakan
Sistem Ubuntu, Debian, Centos, Rhel, Fedora
Perisian Tiada
Yang lain Akses istimewa ke sistem linux anda sebagai akar atau melalui sudo perintah.
Konvensyen # - Memerlukan arahan Linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
$ - Memerlukan arahan Linux yang diberikan sebagai pengguna yang tidak layak

Bagaimana perintah membunuh berfungsi?

Dengan nama seperti "Kill," anda mungkin mengharapkan utiliti ini digunakan untuk segera menamatkan proses. Walaupun ini benar, bunuh Hanya berfungsi dengan cara itu apabila digunakan dengan pilihan tertentu. Secara lalai, bunuh akan cuba menghentikan proses dengan anggun mungkin.

Dalam istilah teknikal, bunuh Menghantar a Sigterm isyarat kepada proses yang ditentukan, dan yang mengarahkan proses untuk ditutup. Ini cara yang sopan untuk mengakhiri proses yang sedang berjalan, dan memberikan aplikasi atau masa perkhidmatan untuk membungkus perkara pertama - seperti penulisan selesai ke log fail, sambungan terbuka yang dibuka yang dilahirkan oleh proses, dll.



Satu -satunya masalah dengan ini ialah program yang degil boleh mengabaikan Sigterm isyarat. Ini berlaku terutamanya dalam proses yang dibekukan atau "digantung."Walau bagaimanapun, bunuh boleh digunakan untuk menghantar banyak isyarat yang berbeza ke proses, dan bahkan dapat memaksa yang paling degil untuk ditutup dengan Sigkill isyarat. Kami akan mengatasi pilihan ini di bahagian seterusnya.

Perkara penting untuk diambil dari maklumat ini ialah, apabila mungkin, anda harus menghantar isyarat sigterm biasa ke proses yang ingin anda tamatkan. Segera membunuh perkhidmatan dengan a Sigkill Isyarat berkesan setiap masa dan akan memberi anda hasil segera, tetapi boleh menyebabkan masalah masa depan kerana proses itu tidak mendapat peluang untuk ditutup dengan betul.

Bagaimana melihat proses apa yang sedang berjalan

Setiap proses di Linux diberikan "ID proses" yang unik, biasanya disingkat sebagai Pid di terminal Linux. Kadang -kadang, mengetahui PID proses diperlukan untuk menamatkannya. Untuk melihat senarai proses berjalan, dan nombor PID yang sepadan, gunakan ps Perintah:

# ps -e 

Ini boleh menghasilkan banyak output, kerana walaupun pemasangan baru Linux boleh mempunyai beberapa proses berjalan, jadi biasanya lebih baik untuk menaip arahan ini untuk grep atau lebih.

Untuk pandangan yang lebih mudah diurus:

# ps -e | lebih -15 


Atau untuk mencari proses tertentu (SSH dalam contoh ini):

# ps -e | Grep SSH 
Dapatkan Pid of Process Running

Cara lain yang berguna untuk melihat senarai proses berjalan dan PID mereka adalah dengan Atas perintah. Kadang -kadang ini lebih berguna, kerana ia juga menunjukkan berapa banyak sumber sistem yang digunakan oleh proses.

Lihat PID dengan arahan teratas

Cara Membunuh Proses oleh PID



Sebaik sahaja anda telah menentukan PID proses yang ingin anda tamatkan, anda boleh menentukannya sebagai hujah kepada bunuh perintah. Sebagai contoh, untuk mengakhiri proses dengan PID 1234:

# membunuh 1234 

Perintah ini menghantar a Sigterm isyarat dan harus dapat menutup kebanyakan proses dalam satu atau dua saat. Ingat bahawa anda boleh menggunakan ps perintah sekali lagi untuk mengesahkan bahawa proses telah berjaya ditutup.

# ps -e | Grep 1234 

Bagaimana membunuh proses yang enggan menutup

Sekiranya anda mengalami proses yang degil yang enggan menutup, anda boleh mengeluarkan a Sigkill isyarat dengan -9 pilihan pada bunuh.



# bunuh -9 1234 

Ingatlah untuk menggunakan pilihan ini dengan berhati -hati, kerana ia bukan cara yang ideal untuk menamatkan proses (tetapi kadang -kadang anda perlu).

Biasanya, Sigterm dan Sigkill mungkin hanya dua isyarat yang perlu anda gunakan, tetapi ada banyak lagi yang boleh anda hantar dengan bunuh perintah. Perintah berikut akan mengeluarkan senarai penuh:

# bunuh -l 
Senarai isyarat yang boleh dihantar oleh Kill

Bagus sekurang -kurangnya menyedari pilihan lain, kerana beberapa program atau skrip mungkin mengesyorkan penggunaannya.

Seperti yang anda lihat dalam output, Sigkill disenaraikan di #9, itulah sebabnya -9 suis menghantar Sigkill isyarat. Tentukan nombor yang berbeza untuk menghantar isyarat masing -masing ke proses.



Cara Membunuh Proses Dengan Nama

Ada cara yang lebih cepat untuk mengakhiri proses daripada harus mencari pid setiap kali. Menggunakan pkill perintah dan nama proses yang ingin anda bunuh. Sebagai contoh, inilah cara membunuh SSH:

# pkill ssh 

The pkill Perintah mampu menghantar isyarat yang berbeza, seperti biasa bunuh Perintah:

# pkill -9 ssh 

Jangan bimbang untuk mendapatkan nama tepat proses itu, sama ada. Perintah ini membunuh proses bernama SSH-Agent yang sedang berjalan di sistem kami.



Ada satu kelemahan untuk digunakan pkill bukan bunuh. Katakan anda mempunyai dua proses SSH yang berjalan, 'SSH-Server' dan 'SSH-Agent'. Mengeluarkan arahan di atas dengan pkill akan menamatkan kedua-dua proses ini, walaupun anda hanya bertujuan untuk menamatkan SSH-Agent.

Ia juga menjadi masalah jika anda mempunyai banyak contoh skrip yang berjalan, sejak memberitahu pkill untuk menamatkan skrip itu akan menamatkan semua contoh skrip. Sekali lagi, kadang -kadang tingkah laku ini mungkin lebih baik. Sekiranya anda memerlukan kawalan yang lebih berbutir, ingatlah untuk memilih bunuh perintah sebaliknya.

Kesimpulan

Dalam artikel ini, kita melihat bagaimana untuk membunuh apa -apa proses yang berjalan pada sistem Linux dengan menggunakan bunuh perintah. Kami belajar bagaimana membunuh proses sama ada dengan PID atau namanya, bersama dengan kebaikan dan keburukan kedua -dua kaedah.

Dengan pengetahuan mengenai bunuh Perintah dan amalan terbaik untuk menggunakannya, anda mempunyai lebih banyak kawalan ke atas proses yang dijalankan pada sistem anda. Ini amat berguna untuk program yang "digantung" dan enggan menutup kadang -kadang.

Tutorial Linux Berkaitan:

  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Perintah Linux Asas
  • Cara menyebarkan isyarat kepada proses kanak -kanak dari bash ..
  • Perintah Linux: Top 20 Perintah Paling Penting yang Anda Perlu ..
  • Pengenalan kepada Automasi, Alat dan Teknik Linux
  • Perkara yang perlu dilakukan setelah memasang Ubuntu 22.04 Jur -ubur Jammy ..
  • Muat turun linux
  • Pasang Arch Linux di Workstation VMware
  • Cara mencetak pokok direktori menggunakan linux