Cara Membunuh Proses Berjalan di Linux
- 2645
- 431
- Chris Little I
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
Keperluan perisian dan konvensyen yang digunakan
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 SSHDapatkan 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.
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 -lSenarai 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
- « Cara Memeriksa dan Memantau Penggunaan CPU di Linux
- Cara Meningkatkan Debian 9 Stretch to Debian 10 Buster »