Bagaimana cara mengidentifikasi dan membunuh proses gantung, ketika sistem hang dan bereaksi lambat pada input pengguna?


24

Baru-baru ini ketika saya mencoba membuka video dengan VLC, sistem saya melambat, aplikasi webbrowser yang terbuka, VLC dan manajer file dan yang lainnya tidak bereaksi lagi. Mouse hanya bereaksi dengan sangat lambat.

Pada mesin windows saya akan menekan keycombi CTRL-ALT-DEL untuk membuka taskmanager, mencari proses yang menyebabkan hang dan membunuhnya.

Karena saya cukup baru dengan penggunaan linux, saya belum menemukan praktik terbaik untuk menyelesaikan situasi seperti itu di Ubuntu.

Cara cepat dan efektif mana yang akan Anda rekomendasikan untuk mengidentifikasi proses gantung dan menutupnya, ketika sistem sudah bereaksi sangat lambat pada input pengguna?

Jawaban:


32

Ada dua cara utama untuk mengidentifikasi proses yang menggantung. Salah satunya adalah melalui Monitor Sistem GUI dan yang lainnya adalah melalui topbaris perintah.

Monitor Sistem

Ini dapat ditemukan di System> Administration

rekening

Anda juga dapat membuat pintasan keyboard untuk ini di artikel ini .

Setelah GUI diluncurkan, Anda dapat memilih tab Processes yang akan mencantumkan semua proses yang berjalan. Urutkan berdasarkan kolom CPU untuk menemukan tugas yang paling intensif CPU

cpu

Terakhir Anda dapat mengklik kanan tugas itu dan memilih untuk mengakhirinya, menghentikannya, atau membunuhnya. Membunuhnya akan segera berhenti dan menghapus proses itu dari sistem.

membunuh

Garis komando

Jika Anda memiliki terminal terbuka, Anda cukup mengetik topini akan mencantumkan semua proses yang berjalan mirip dengan tab Proses di GUI

teratas

Di bagian atas adalah CPU yang diurutkan secara default - jadi tugas paling intensif CPU paling atas adalah di atas. Kapan saja Anda dapat menekan surat kuntuk mematikan suatu proses

k

Cukup ketik PID dari proses yang ingin Anda bunuh dan tekan enter. Ini akan meminta sinyal Bunuh untuk dikirim. Untuk mematikan proses dengan baik gunakan default 15 - untuk segera membunuhnya "Jangan lulus, jangan kumpulkan $ 200" gunakan 9.

sigkill

Proses kemudian akan dihentikan.

Jika Anda mengalami antarmuka yang lamban, Anda dapat mencoba SSH di jarak jauh jika itu diaktifkan - atau beralih ke konsol virtual melalui Ctrl+ Alt+ F#Where F#is a Function Key (F3, F4, F5, dll). Untuk kembali ke lingkungan Desktop, beralihlah ke F7 atau F8 tergantung pada versi Ubuntu Anda.


5
Jawaban yang bagus Saya biasanya menetapkan pintasan CTRL + ESC ke Monitor Sistem. Ini memberi saya akses cepat untuk mematikan proses.
Javier Rivera

@Marco Ceppi: di mana gambar yang hilang?
enzotib

@enzotib Posting telah diperbarui
Marco Ceppi

1
+1 untuk Monitor Sistem. Itu bisa membunuh / menghentikan proses VLC yang menggantung, yang tidak bisa dilakukan.
malisokan

@malisokan Anda yakin htoptidak bisa melakukannya? Anda dapat mengirim SIGKILL untuk membunuh proses menggantung yang Anda miliki haknya.
val berkata Reinstate Monica

4

Tambahkan System Monitorapplet ke panel Anda ( klik kanan pada panel, pilih Add to Panneldan cari Monitor Sistem) dan klik kanan di atasnya untuk membuka aplikasi Monitor Sistem.

Anda dapat meluncurkan aplikasi Monitor Sistem dengan menekan Alt+F2dan memulai program gnome-system-monitor.

Buka tab "Proses" dan klik kanan aplikasi yang ingin Anda bunuh .


3

Sebagian besar sudah mengatakan (saya suka jawaban Marco Ceppi) tetapi ada juga applet "Force Quit" yang dapat Anda tambahkan ke Panel GNOME Anda. Klik kanan pada panel dan pilih "Tambahkan ke panel ...":

teks alternatif

Ini memungkinkan Anda keluar dari aplikasi menggantung hanya dengan mengklik jendela itu. Sangat cepat dan efisien.


Saat menjalankan Unity di 11.04 tentu saja aplikasi ini tidak lagi tersedia. Ada Indikator proyek -Forceclose pengganti tetapi tidak termasuk dalam repositori.

Atau kita bisa lari xkilldari terminal.


Apakah itu hanya menghancurkan jendela atau juga membunuh prosesnya?
val berkata Reinstate Monica

@val itu membunuh proses yang menciptakan jendela.
Takkat

Baru diuji: tidak. Saya membuat program yang menggantung di balik callback GTK dan membunuhnya dengan xkill. Jendela menghilang, tetapi program terus berjalan (atau hang jika Anda mau). Jadi jawabannya tidak, mungkin tidak mematikan program jika macet serius.
val berkata Reinstate Monica

@val secara alami setelah program Anda memanggil proses lain untuk membuat jendela xkillakan mematikan proses tambahan ini saja. Ini sangat penting untuk diketahui bagi program yang berjalan tanpa server-X tetapi memanggil X untuk windowing. Jelas, tidak mungkin untuk membunuh program semacam itu dari server X.
Takkat

Program saya tidak memanggil proses lain untuk itu. Saya membuat program yang sama dengan aplikasi GTK di luar sana dan membuatnya hang. xkilltidak mempengaruhi proses seperti itu (GTK akan menyebabkan keluar jika nanti saya keluar "menggantung" dan membuatnya kehilangan jendela). Callback GTK tidak ada hubungannya dengan multiprocessing.
val berkata Reinstate Monica
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.