Pada dasarnya ada 4 cara de betul dengan berkesan a proses en Linux: bunuh dengan nama, dengan menentukan bahagian namanya, oleh PID, menunjuk ke jendela proses dengan kursor tetikus. Mari lihat satu persatu ... |
Bunuh: bunuh proses menggunakan PIDnya
Kaedah yang paling rumit tetapi pada masa yang sama paling tepat untuk membunuh proses adalah melalui PID ("Process Identifier"). Mana-mana daripada 3 varian ini boleh berfungsi:
kill -TERM pid kill -SIGTERM pid kill -15 pid
Anda boleh menggunakan nama isyarat (TERM atau SIGTERM) yang ingin anda hantar ke proses atau nombor pengenalannya (15). Untuk melihat senarai penuh kemungkinan isyarat, saya cadangkan periksa manual membunuh. Untuk melakukan ini, jalankan:
lelaki membunuh
Mari lihat contoh cara membunuh Firefox:
Pertama, anda harus mengetahui PID program:
ps -ef | grep firefox
Perintah itu akan mengembalikan sesuatu seperti ini:
1986? Sl 7:22 /usr/lib/firefox-3.5.3/firefox
Kami menggunakan PID yang dikembalikan oleh arahan di atas untuk membunuh prosesnya:
membunuh -9 1986
killall: membunuh proses menggunakan namanya
Perintah ini sangat mudah
proses_nama killall
Satu perkara yang perlu diingat ketika menggunakan kaedah ini adalah jika ada lebih dari satu program yang dijalankan, semuanya akan ditutup.
pkill: membunuh proses menggunakan sebahagian dari namanya
Adalah mungkin untuk membunuh proses dengan menentukan nama penuh atau bahagian namanya. Ini bermakna anda tidak perlu mengingati PID proses menghantar isyarat.
pkill part_process_name
Sebagai balasannya, kaedah ini akan membunuh semua proses yang mengandungi kata yang dimasukkan. Ini bermakna bahawa jika kita mempunyai 2 proses terbuka yang berkongsi satu kata dalam nama, kedua-duanya akan ditutup.
xkill: bunuh proses dengan memilih tetingkap dengan tetikus
Ini adalah kaedah paling mudah dan praktikal. Sekiranya berlaku bencana, cukup tekan Alt + F2 untuk memunculkan kotak dialog yang membolehkan anda menjalankan perintah. Dari sana, jalankan arahan berikut:
xbunuh
Kursor tetikus akan berubah menjadi tengkorak kecil. Yang tinggal hanyalah mengklik tetingkap yang ingin anda tutup dan voila. Bye proses.
Beberapa komen terakhir
Sebagai penutup, saya ingin berkongsi beberapa petua yang mungkin bermanfaat. Di Linux, seperti pada Windows, ketika proses hang, jendela yang dimaksud secara umum dapat ditutup dengan mengklik butang Tutup (yang berbentuk seperti X). Setelah beberapa saat, sebuah tetingkap akan muncul menanyakan kepada kita apakah kita benar-benar ingin membunuh prosesnya kerana ia tidak bertindak balas dengan betul. Kami mengatakan ya dan itu sahaja.
Ini bermaksud kaedah yang dijelaskan di sini harus digunakan apabila tidak ada yang berlaku ketika anda mengklik butang Tutup tetingkap yang dimaksud.
Sekiranya berlaku bencana besar, jangan lupa bahawa sebelum menekan adalah mungkin untuk melaksanakan a mulakan semula "selamat".
Akhirnya, sangat berguna untuk mengetahui proses yang sedang berjalan. Untuk ini, persekitaran desktop yang berbeza (GNOME, KDE, dll.) Mempunyai alat grafik yang memudahkan tugas ini. Walau bagaimanapun, sekiranya anda tidak dapat mengaksesnya atau hanya mahu melakukannya dari terminal, anda boleh melakukan perkara berikut:
bahagian
Sekiranya ini tidak berfungsi atau anda tidak memasang pakej yang sesuai, anda selalu dapat menjalankan:
ps -A
Ini akan menyenaraikan semua proses yang sedang berjalan, bersama dengan nama dan PID masing-masing.
«Ps -ef | "grep firefox" tidak sama dengan "pgrep firefox"?
Secara peribadi saya menggunakan "pidof" untuk mendapatkan PID.
Salam!
yang paling saya gunakan ialah:
~ $ teratas
menunjukkan senarai proses aktif, maka jika kita menekan "k" atau menulis "kill", ia akan meminta kita untuk mengetahui proses yang akan dibunuh (kita membacanya dari atas) dan kemudian masukkan, untuk keluar dari atas kita tekan "q".
Kemasukan yang sangat baik, tetapi borang ini kelihatan lebih mudah bagi saya. Sekiranya terminal tidak berfungsi, kita cuba ctrl + alt + f [1-6] dan lakukan dari sana.
Apa lelaki yang genius terima kasih kerana membantu saya memberikan saya jawatan yang hebat !!!
Helo! Mungkinkah perintah xkill hanya menjadikan program X hilang dan masih terbuka? Kerana selalu berlaku kepada saya bahawa ketika saya pergi ke pengurus tugas, prosesnya masih hidup dan saya harus membunuhnya.
Saya mengakuinya, saya seorang pemula. Dan arahan killall dan pkill akan banyak membantu saya. Terima kasih kerana memuat naiknya, blog yang sangat bagus.
¡Saludos!
Saya cadangkan htop 😀 ia adalah yang terbaik untuk itu ...
berfungsi dengan jururawat
sudo apt-get install htop
pidof bukan untuk semua Unix, contohnya Solaris tidak mempunyai perintah itu, dan itu mendorong kita untuk menggunakan ps yang kuat.
salam
htop lebih verbose dan mesra pengguna
Sekiranya menggunakan PID, perkara yang betul adalah $ kill PID yang menghantar isyarat SIGTERM secara lalai, sekiranya prosesnya tidak bertindak balas, $ kill -9 PID digunakan yang menghantar isyarat SIGKILL, yang terakhir menghilangkan proses tanpa membiarkannya penutupan yang sama dengan betul (mungkin ada kehilangan data misalnya). SIGTERM meminta tolong, SIGKILL memberinya kapak 🙂
Terima kasih banyak, saya akan mengujinya jika ia berlaku lagi kepada saya.
pertanyaan. Apabila persekitaran desktop tergantung di Ubuntu (saya menggunakan Unity), bolehkah dimulakan semula tanpa membunuh semua proses lain? Saya tidak terlalu maju dalam linux dan kadang-kadang berlaku pada saya bahawa saya bekerja dan ia tergantung, satu-satunya perkara yang saya lakukan adalah memulakan semula yang selamat, tetapi saya kehilangan semua yang saya kerjakan.
Saya tidak tahu adakah keraguan saya difahami.
salam
Proses di negara zombie tidak boleh dibunuh dengan cara tradisional.
Di sini untuk maklumat lebih lanjut: esdebian.org/wiki/matar-proceso-zombie
Untuk yang lebih maju, bagaimana anda membunuh proses di negara ZOMBIE?
hanya untuk menjana sedikit sembang 😀
Sangat bagus, hanya apa yang saya perlukan ..
Yang benar adalah bahawa perintah membunuh sangat berguna. Mampu membunuh proses yang menjengkelkan hanya dengan memanggil membunuh adalah sesuatu yang hebat. Akhirnya arahan yang melayani sesuatu.
Soalan teoritis: Membunuh proses bermaksud bahawa ia berhenti berfungsi. Jadi persoalan saya adalah sebaliknya, jika saya ingin memulakan semula proses yang saya bunuh, bagaimana saya melakukannya?
Baiklah anda meletakkan ./ (nama prosesnya) &
dengan ini anda jalankan lagi dan PID anda juga akan keluar 😀
Hebat, saya sempat mencari pertolongan seperti ini. Ia sangat berguna bagi saya. Terima kasih banyak berkongsi.
Salam dari San Luis Potosí, Mexico.
Bagaimana saya boleh membunuh dua proses mengetahui PID mereka dalam perintah yang sama?
Saya fikir ia 'membunuh [First PID] [Second PID]
Artikel yang sangat menarik. Laman web ini adalah laman web linux utama saya.
Saya biasanya menggunakan:
ps kapak | grep process_name (ini untuk mencari di sistem)
membunuh -9 proses_id
Saya berkongsi kursus bash dalam talian percuma yang berlaku:
https://aprendemia.com/cursos/curso-de-bash-scripting Semoga bermanfaat.
dan sekiranya saya mahu profil di linux hanya yang ditutup seperti yang sepatutnya?
contoh saya mempunyai 2 profil firefox terbuka
tetapi saya hanya mahu satu profil ditutup
profil 1
profil 2
Saya mahu hanya profil 2 yang ditutup sebagaimana arahannya
terlebih dahulu terima kasih atas jawapannya
bagaimana saya boleh membunuh proses latar depan ubuntu, dengan satu baris perintah