[Awk][Linux] : Lister les processus non killable et le stopper avec ps aux + awk

La commande PS possède une multitude d’options et un affiche un grand nombre d’éléments. On ne va pas tous les passés en revue rassurez vous. Aujourd’hui, je vous propose un moyen simple de lister les process non killable. C’est ultra simple car il suffit de lire la colonne status de PS.

Cette colonne contient généralement une ou deux lettres :

  • R : en cours
  • S : interrompable
  • s : c’est une session maitre
  • l : multi-threadé
  • < : priorité haute
  • + : processus d’arrière plan
  • D : non killable

C’est se dernier cas qui peut être plus gênant car ce process ne peut être arrêté. Et pour lister les processus en fonction d’un statut c’est awk :

ps aux | awk '{if ($8 ~ "D") print $0}'

Pour le stopper ce n’est pas simple car un kill -9 du pid ne marchera pas. On peut éventuellement tenter un reboot forcé :

reboot -n -f

C’est un peu moche c’est clair. J’imagine qu’avec un lsof on peut aussi identifié le filesystem utilisé et le démonté. C’est pas beaucoup plus jolie.

Plus d’infos sur le site noah.org et bien sûr la man page de PS

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s