Trucs:Sortir élégamment d'un plantage

De Lea Linux
(Redirigé depuis Trucs:Oldid=162)
Aller à la navigation Aller à la recherche

Sortir élégamment d'un plantage

Ca y est. C’est arrivé. Pourtant on vous avait dit que Linux était stable, mais cette fois, il s’est planté.
NOOON ! Pas de panique, ne pressez pas tout de suite le bouton reset. Oubliez cette mauvaise habitude héritée de votre ancien système d’exploitation.
Commencez par mesurer l’étendue des dégats.
Le noyau de Linux bloque extrêmement rarement, et vous pouvez sans doute encore entendre le mp3 qui était en train de jouer, ou voir les diodes du graveur clignoter pendant le gravage en cours (d’ailleurs, si aucune des solutions ci-dessous ne fonctionne, attendez au moins la fin de la gravure — qui sera bonne ! — pour redémarrer à la barbare).

Seule une application est plantée.

Si vous avez encore accès aux autres applications, que la souris bouge, etc. vous pouvez simplement tuer l’application plantée.

Pour une application graphique

La solution la plus simple consiste à utiliser xkill. Ce petit utilitaire transforme le curseur de la souris en une cible ou une tête de mort, et il suffit de cliquer sur la fenêtre de l’application plantée pour la faire disparaître. Sous KDE, lancez-le en tapant simultanément : Control-Alt-Echap. Sinon, tapez xkill dans un shell (ligne de commande).

Une solution valable pour toute application

Qu’elle soit graphique ou non, cela consiste à la tuer en utilisant son numéro de processus, ou PID. Ouvrez un shell, et tapez ps x, vous voyez défiler la liste des applications, avec leur numéro de processus correspondant. Si vous avez plus d’une page, utilisez ps x | less, et récupérez le numéro correspondant à l’application plantée (son PID). Tapez ensuite kill PID en remplaçant PID par le numéro trouvé. Si l’application ne se ferme toujours pas, essayez plus violent kill -9 PID. Cela peut aussi fonctionner en tapant killall application, cela permet de tuer une application par son nom si utiliser une commande supplémentaire est osé parce que le système est vraiment instable.

La souris ne répond plus

Le cas est plus grave mais pas désespéré, et nécessite en général le redémarrage de X, la couche graphique de Linux.

Méthode n°1

La façon la plus simple de faire pour tuer X, est de presser simultanément les touches Control-Alt-Backspace. Si cela ne fonctionne pas, essayez ensuite la méthode suivante.

Méthode n°2

Nous allons essayer de passer sur une console texte. Tapez Control-Alt-F1 (ou de F2 à F6), et connectez-vous en tant que root : utilisateur root, suivi de son mot de passe.
De la même façon que ci-dessus, nous allons tuer X : ps x | grep X vous donne son PID, il ne vous reste plus qu'à le tuer par kill PID_de_X ou kill -9 PID_de_X. La méthode killall précédente fonctionne aussi

Redémarrage de X

Si vous démarrez habituellement directement en mode graphique, il va se relancer tout seul, pour retourner dans la console graphique tapez Control-Alt-F7 ; sinon, tapez startx.
Si cela ne fonctionne pas mais que vous avez accès aux consoles texte par Control-Alt-Fn, vous pouvez redémarrer proprement en vous connectant en tant que root, et en tapant la commande "reboot" ou "shutdown -r now".
Note : malheureusement, les documents non sauvegardés risquent alors fort d'être perdus. Avant de redémarrer X, vous pouvez éventuellement tenter un "kill" (pas -9 !) sur l'application contenant votre document, et voir si cela fait quelque chose, en revenant en mode graphique par Control-Alt-F7...
Le redémarrage de X peut se faire par exemple sur Debian avec /etc/init.d/gdm restart si vous utilisez gdm, et sur Mandriva avec service gdm restart (les options stop ou start existent aussi).

Pas moyen d’aller dans une console texte avec Control-Alt-Fn

Le clavier ne semble plus répondre, éventuellement l’écran est tout noir, ca va mal... Pourtant vous pouvez essayer trois choses :

Vous connecter en aveugle

L'écran est noir par suite d'un plantage video. Vous pouvez tenter de basculer sur une console virtuelle par Control-Alt-Fn, vous connecter en root : tapez root, <key>entrée</key>, mot_de_passe, <key>entrée</key> (vous ne verrez rien, faites bien attention à ce que vous tapez), puis tapez reboot. Le PC devrait redémarrer. Si rien ne se passe... passez à la suite !

Les touches magiques de requête système

Merci à Michael Scherer et Lenny Cartier de m’avoir rappelé ce point.
Si votre noyau est compilé avec les bonnes options (dans Kernel Hacking, cocher Magic Sysreq Key' — voir la documentation dans /usr/linux/src/Documentation/sysrq.txt), vous disposez de séquences de touches par exemple pour redémarrer, pour synchroniser le cache du disque, et remonter tous les disques en lecture seule.
Utilisation, tapez simultanément :

  • Alt-PrintScreen-S ou Alt-ImprEcran-S pour vider le cache sur le disque (afin d'éviter la vérification du disque au redémarrage), suivi de
  • Alt-PrintScreen-U pour remonter le disque en lecture seule (même raison), suivi enfin de
  • Alt-PrintScreen-B pour redémarrer.

Si cela ne fonctionne pas, c'est que votre noyau n'est pas compilé avec la bonne option.

Si vous avez un réseau local

Connectez-vous en telnet ou ssh sur la machine plantée : telnet ma_machine ou ssh ma_machine (sous Windows, HyperTerminal™ permet aussi de se connecter en telnet à la machine plantée, et Cygwin contient ssh).
Si la machine plantée répond au telnet ou au ssh, connectez-vous en root, et essayez de la rebouter proprement par la commande reboot ou shutdown -r now.

Rien ne marche :-(

Alors vous allez être obligés de redémarrer à la barbare, c’est-à-dire par le bouton reset ou par un cycle extinction/allumage...
Pour éviter dans ce cas un test souvent assez long du disque lors du redémarrage, il est conseillé d'utiliser un système de fichier journalisé (ext3, Reiserfs, etc.) à la place de l’ancien ext2.

Copyright

© 2002 Jean-Christophe Cardot

Creative Commons License
Creative Commons Attribution iconCreative Commons Share Alike icon
Ce document est publié sous licence Creative Commons
Attribution, Partage à l'identique 4.0 :
https://creativecommons.org/licenses/by-sa/4.0/