Comment identifier et tuer le processus de suspension, lorsque le système se bloque et réagit lentement à l'entrée de l'utilisateur?


24

Récemment, lorsque j'ai essayé d'ouvrir une vidéo avec VLC, mon système a ralenti, le navigateur Web d'applications ouvertes, VLC et le gestionnaire de fichiers et d'autres n'ont plus réagi. La souris vient de réagir encore très lentement.

Sur une machine Windows, j'appuierais sur un clavier CTRL-ALT-DEL pour ouvrir le gestionnaire de tâches, rechercher le processus qui a provoqué le blocage et le tuer.

Depuis que je suis assez nouveau avec l'utilisation de Linux, je n'ai pas trouvé la meilleure pratique pour résoudre une telle situation dans Ubuntu.

Quelle méthode rapide et efficace recommanderiez-vous pour identifier le processus de suspension et le fermer, lorsque le système réagit déjà très lentement à l'entrée de l'utilisateur?

Réponses:


32

Il existe deux façons principales d'identifier les processus bloqués. L'un se fait via l'interface graphique de System Monitor et l'autre via la ligne topde commande.

Moniteur système

Cela peut être trouvé dans Système> Administration

Compte

Vous pouvez également créer un raccourci clavier pour cela dans cet article .

Une fois l'interface graphique lancée, vous pouvez sélectionner l'onglet Processus qui répertorie tous les processus en cours d'exécution. Trier par la colonne CPU pour trouver la tâche la plus gourmande en CPU

CPU

Enfin, vous pouvez cliquer avec le bouton droit sur cette tâche et choisir de la terminer, de l'arrêter ou de la tuer. Le tuer arrêtera immédiatement et supprimera ce processus du système.

tuer

Ligne de commande

Si vous avez un terminal ouvert, vous pouvez simplement taper topceci listera tous les processus en cours d'exécution similaires à celui de l'onglet Processus dans l'interface graphique

Haut

Dans le haut, le CPU est trié par défaut - donc les tâches les plus gourmandes en CPU sont au sommet. À tout moment, vous pouvez appuyer sur la lettre kpour tuer un processus

k

Tapez simplement le PID du processus que vous souhaitez tuer et appuyez sur Entrée. Il demandera un signal Kill à envoyer. Pour tuer le processus, utilisez bien la valeur par défaut 15 - pour le tuer immédiatement "Ne passez pas, ne collectez pas 200 $", utilisez 9.

sigkill

Le processus sera alors terminé.

Si vous rencontrez une interface lente, vous pouvez essayer de SSH à distance si cela est activé - ou basculer vers une console virtuelle via Ctrl+ Alt+ F#F#est une touche de fonction (F3, F4, F5, etc.). Pour revenir à l'environnement de bureau, passez à F7 ou F8 selon votre version d'Ubuntu.


5
Très bonne réponse. J'attribue généralement le raccourci CTRL + ESC au Moniteur système. Cela me donne un accès rapide au processus de mise à mort.
Javier Rivera

@Marco Ceppi: où sont passées les images?
enzotib

@enzotib Le message a été mis à jour
Marco Ceppi

1
+1 pour System Monitor. Il pourrait tuer / arrêter un processus VLC suspendu, ce que htop ne pourrait pas faire.
malisokan

@malisokan Êtes-vous sûr de htopne pas pouvoir le faire? Vous pouvez envoyer SIGKILL pour tuer tout processus suspendu auquel vous avez droit.
val dit Réintégrer Monica

4

Ajoutez l' System Monitorapplet à votre panneau (faites un clic droit sur le panneau, sélectionnez Add to Pannelet recherchez System Monitor) et faites un clic droit dessus pour ouvrir l'application System Monitor.

Vous pouvez lancer l'application System Monitor en appuyant sur Alt+F2et démarrez le programme gnome-system-monitor.

Allez dans l'onglet "Processus" et faites un clic droit sur l'appliction que vous avez l'intention de tuer .


3

La plupart ont déjà dit (j'aime la réponse de Marco Ceppi) mais il y a aussi une applet "Forcer à quitter" que vous pouvez ajouter à votre panneau GNOME. Faites un clic droit sur le panneau et choisissez "Ajouter au panneau ...":

texte alternatif

Cela vous permet de quitter une application suspendue en cliquant simplement sur sa fenêtre. Très rapide et efficace.


Lorsque vous exécutez Unity en 11.04, bien sûr, cette application ne sera plus disponible. Il existe un projet de remplacement Indicator-Forceclose mais il n'est pas inclus dans les référentiels.

Alternativement, nous pourrions exécuter à xkillpartir d'un terminal.


Détruit-il seulement la fenêtre ou tue-t-il également le processus?
val dit Réintégrer Monica

@val il tue le processus qui a créé la fenêtre.
Takkat

Vient de tester: ce n'est pas le cas. J'ai créé un programme qui se bloque dans le rappel GTK et l'a tué avec xkill. La fenêtre a disparu, mais le programme a continué de s'exécuter (ou de se bloquer si vous préférez). La réponse est donc non, il ne peut pas tuer le programme s'il est sérieusement bloqué.
val dit Réintégrer Monica

@val naturellement après que votre programme ait appelé un autre processus pour créer une fenêtre xkillne tuera que ce processus supplémentaire. Ceci est particulièrement important à savoir pour les programmes qui s'exécutent sans serveur X mais appellent X pour le fenêtrage. De toute évidence, il serait impossible de tuer un tel programme à partir du serveur X.
Takkat

Mon programme n'a pas appelé d'autre processus pour cela. J'ai créé un programme qui est le même que n'importe quelle application GTK et l'ai suspendu. xkilln'affecte pas de tels processus (GTK provoquera la sortie si je quitte plus tard "suspendre" et le faire gérer la perte de fenêtre). Les rappels GTK n'ont rien à voir avec le multitraitement.
val dit Réintégrer Monica
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.