Comment sauver une station Linux qui semble plantée ?
Geek
Par djib le mardi 9 janvier 2007, 21:45 - Lien permanent
Parfois, nous l'avons tous vécu, Linux "plante". Heureusement c'est rarement grave au point de devoir redémarrer son PC (touts les systèmes actuels ne peuvent pas en dire autant). Comment s'y prendre méthodiquement (ou tout du moins en suivant ma méthode), c'est ce que je vais essayer de vous expliquer :
Tuer l'application qui pose problèmes
En général, si une seule application bloque, ce n'est pas un gros problème. Il vous suffit de lancer xkill (ou bien d'appuyer sous Ctrl+Alt+Esc sous ''KDE) et puis de cliquer sur l'application à tuer. En général c'est très efficace... mais il reste parfois un processus lié à cette application qui tournent en arrière plan. Pour y remédier, il faut voir le point suivant.
Afficher la liste des processus
La commande ps aux ou mieux ps axjf, qui affiche en plus l'arborescence des processus, va vous permettre de voir tous les processus tournant sur votre PC. De cette manière vous pouvez vous assurer qu'une application que vous venez de tuer a bel et bien disparu.
En notant le numéro du processus (numéro de la deuxième colonne) vous pouvez ensuite tuer ce processus en tapant kill numéro qui demande gentiment à l'application de se stopper. Plus violemment, kill -9 numéro quitte l'application sans lui donner le temps de souffler (et d'essayer de se quitter proprement). C'est très utile si l'application est bel et bien plantée, mais à utiliser avec modération !
Pour éviter de noter le numéro du processus vous pouvez aussi faire un killall nom_du_processus. Par exemple killall amarokapp.
Redémarrer le serveur graphique
Si c'est toutes les applications qui semblent bloquées, il vous reste la solution Ctrl+Alt+Backspace (touche qui sert à supprimer la lettre avant le curseur, en général juste au dessus de la touche Entrée). Cette combinaison redémarre le serveur graphique.
Éradiquer l'utilisateur
Si jamais la solution ci-dessus ne marche pas, vous avez toujours possibilité d'éradiquer tous les processus de votre utilisateur. Pour cela il vous faut le programme slay (sudo apt-get install slay pour l'installer) qui s'utilise de la sorte : sudo slay utilisateur. Pour pouvoir taper cette commande il faut bien sûr que vous ayez au moins un terminal qui répond (ne serait-ce que un des terminaux virtuels auxquels on accède par les touches Ctrl+Alt+Fn ou Fn représente une des touches F1, F2, ... en haut de votre clavier.
Si vraiment tout est bloqué il vous reste un dernier espoir !
Les touches magiques du noyau Linux
Si vous avez un noyau dans lequel sont activées les Magic Keys (c'est le cas de Ubuntu et tous ses descendants), vous pouvez utiliser la combinaison Alt+Sys (la touche Système) ainsi qu'une des touches suivantes :
- k pour tuer tous les processus de la console virtuelle courante,
- e pour terminer (le plus gentiment possible) tous les processus système,
- i pour tuer tous les processus système.
Et si toujours rien ne marche
Évitez à tout prix d'appuyer sur le bouton d'alimentation de votre ordinateur. Ce n'est pas très bon (entre autres à cause d'un risque de perte de données). Préférez les combinaisons suivantes dans l'ordre :
- Alt+Sys+s synchronise les disques (s'assure que les données qui doivent être écrites sur le disque le sont bien),
- Alt+Sys+u démonte le système de fichiers (ou plutôt le remonte en lecture seule),
- Alt+Sys+b redémarre le PC.
Voilà une solution de dernier recours... que vous utiliserez j'en suis convaincu que très très rarement.
Merci de faire part de vos remarques/corrections et surtout de vos autres méthodes/techniques/outils/solutions dans les commentaires. Merci pour votre participation.



Commentaires
chez moi, les alt+printscreen fonctionnent pas ; dommage...
et qu'en est il de la combinaison alt+backspace ? si je n'arrive à rien faire (les xkill, faut avoir la main), redémarrer X est l'ultime olution qu me reste
Salut.
Pour obtenir la liste des processus, et éventuellement en supprimer quelqu'uns, htop est bien pratique.
En français : merzhin.serveftp.org/blog...
En anglais : htop.sourceforge.net/
Deux autres astuces: htop permet de lister les processus dans un tty, et de les tuer (ça fauit partie des commandes).
Aussi, une connexion en ssh peut permettre en dernier recours permettre de déplanter le shmilblic (on peut d'ailleurs lancer htop en ssh)
Très bon article ! Je garde, merci !
Pour les fonctionnalités "System request" ce n'est pas "Alt+impÉc" mais CTRL+ALT+impÉc (chez moi du moins)
En fait sur beaucoup de clavier cette touche s'appèle "Prt Scrn / Sys Rq", du moins c'est le cas de 2 claviers sur les trois que j'ai à portée d'yeux MDR
Autre astuce: sous Gnome, il y a un petit applet pour gnome-panel nommé "Forcer quitter" qui permet de faire la même chose que xkill.
Bon article, je me per;et une petite suggestions pour le point 2 qui permet d'afficher les process. Personnellement, je pipe le resultat de la commande dans un grep avec le nom du job a tuer pour le trouver plus facilement :
ps aux | grep nom_process
car grep permet de selectionner uniquement les lignes a tuer, donc 'est plus pratique.
C'est tout :linux:
Article intéressant. Quelques précisions :
- pour avoir la liste des processus sous KDE : Ctrl+Échap, qui permet ensuite de facilement killer un process trop gourmand.
- Éradiquer l'utilisateur. Sans avoir recours à l'installation d'un programme, un bon kill -9 -1 fait l'affaire, mais c'est hard ... mais bon ça peut sauver la vie des fois
- pour les touches magiques, il s'agit de Alt+Sys, et nom Impr Écran d'où les "ça marche pas" selon le clavier.
- Enfin une solution qui peut être utile quand X est planté et empêche d'accéder à une console virtuelle, que openssh-server est installé sur sa machine et qu'on a un autre poste sous la main : se connecter via SSH pour faire le ménage
Mais enfin, c'est vrai que en général, un xkill suffit
Merci pour ces astuces à garder sous le coude.
Héhé, merci beaucoup pour ces astuces!
Hop, bookmarké !
Splitsch
Heu, pour tuer tous les processus d'un Utilisateur, on peut aussi faire :
skill -KILL -u username
szdavid, je n'ai pas bien compris ta question...
Sylvain, oui j'avais lu ton article récemment sur le planet. Merci pour cet utilitaire. top, présent en standard sur les distributions est similaire mais moins convivial.
Ago, c'est vrai pour la connexion ssh, je n'y avais pas pensé !
LordFarquaad, visiblement il s'agit en fait de la combinaison Alt+Sys.
loloemr, c'est vrai que le grep est très pratique... quand on sait ce qu'on cherche. grep -i fais un filtrage qui ne dépend pas de la casse. Assez pratique bien que la majorité des processus n'aient pas de majuscule.
bobuse, c'est vrai que xkill (voire même le bouton quitter) fait souvent l'affaire. Merci pour ces précisions quant-à la combinaison des "touches magiques". Pour le ctrl+esc c'est vrai, j'avais oublié !
Noé, j'ai tendance à éviter le skill. Les premières lignes du manuel indiquent : these tools are probably obsolete and unportable.
xilef, mamagubida10 et Splitsch, merci pour vos commentaires.
Merci à tous d'avoir partagé vos expériences. C'est ce que j'adore dans la communauté du libre !!!
Je trouve ton blog bien rédigé, attrayant... Je lis TOUS les articles même s'ils me dépassent mathématiquement et je m'essaie parfois à tes énigmes tordues ainsi qu'à celles de nicosgc et Salaheddine.... et je m'amuse et je m'énerve et j'en passe!!!
Je souhaiterais un conseil. Voici le courriel que j'ai reçu d'un ami:
"J’utilise un filtre Spam et vous en faites probablement de même.
Je vous ai mis sur la liste blanche, ce qui signifie que je recevrai tous les e-mails que vous m’enverrez.
Je serais très heureux si vous me mettiez sur la liste blanche de votre filtre Spam.
Si vous n’avez pas de filtre Spam, je peux vous recommander SPAMfighter. Il s’agit d’un filtre Spam gratuit pour Outlook et Outlook Express.
J’espère que vous me mettrez sur votre liste blanche, ce qui nous permettra à l’avenir de nous envoyer des emails en toute sécurité."
Et il me met un lien pour télécharger.
Qu'en penses-tu?
Merci.
Tout d'abord merci pour tes commentaires chaleureux !
Sinon pour le logiciel je dis non, surtout pas !!!
Si tu veux recevoir des courriels seulement de tes amis, crées toi un filtre personnalisé qui vérifie si une personne est dans ton carnet, mais n'utilise pas de programme externe.
Sinon je te recommande très très fortement Mozilla Thunderbird qui pourra "apprendre" à reconnaitre des pourriels assez rapidement.
Note enfin que spamFighter ne marche visiblement que avec Outlook et Outlook Express, deux programmes pour lesquels je n'ai que très peu d'estime.
J'avais bien compris que tu n'apprécies pas Outlook et Outlook Express.
J'ai Mozilla Thunderbird.
Je vais donc envoyer à mon ami les coordonnées de ton blog pour qu'il y puise d'autres infos et idées. Pub !!!
Je ne sais pas créer de "filtre personnalisé" mais je sais utiliser un filtre à café !!!
Mon fils comprendra certainement ce que tu veux dire et me le créera à l'occasion.
Merci et A+
Jackie, va dans "Outils -> Filtres de message". D'ici tu peux définir des filtres de messages sur le nom de l'expéditeur, le titre d'un message, ...
Re-merci!
Voici la réponse de mon ami suite à mon refus(sur tes conseils) d'installer spamFighter:
"Quant à spamfighter, je trouve leur démarche agressive. Je ne sais pas si je vais poursuivre car pour le moment je les teste gratuitement pendant un mois".
Cette réponse te confortera dans ton opinion.
Tout à fait !
J'ai maté les pages 33/35 du Manuel Ubuntu Linux et je crois que la commande « ps -A » ferait mieux d'être utilisé dans la plupart des cas parce que les résultats sont quand même assez difficile à lire avec « ps aux ».
Sinon elle très sympa cette petite note je vais peut-être l'imprimer histoire de l'avoir sous le coude en cas de pépin.
lyüstcl, je ne connaissais pas 'ps -A'. J'avoue que c'est pas mal mais j'aime bien la colonne utilisateur dans 'ps aux'. Après c'est sûr que 'ps -A' est plus lisible.