Planet Metax - Chaos & Logik

Shotgun: Massenvernichtung für Prozesse

03. Aug 2010 Shotgun: Massenvernichtung für Prozesse

Bei meiner Arbeit auf Linux-Systemen kommt es ab und zu vor, dass ich einige Prozesse/Deamonen im Hintergrund laufen habe, die entweder defunktional oder von meiner Shell abgekoppelt sind.

Nun möchte man manchmal den Urzustand wieder herstelle und bräuchte so etwas wie "reset" für die ganze Session: also alles bis auf die aktive Shell beenden.

Dabei hat sich für mich mein Script shotgun bewährt: es werden alle laufenden Prozesse des aktuellen Users mit kill -9 abgeschossen (außer der Shell und den Programmen, die shotgun braucht, selbst).

Ist eigentlich ganz simpel, man spart sich dadurch aber manchmal, über htop alle Prozesse des Users von Hand aufzuspüren und zu beenden.

Das Script ist vor allem auch dann nützlich, wenn man die Session beendet hat, und noch irgendwelche Prozesse auf (ansonsten freien) Mounts oder SSH-Verbindungen sitzen, die man sonst nicht schließen kann.

Naja, lange Rede, kurzer Sinn:

shotgun.sh
Shellscript
Größe: 387 Byte

#!/bin/bash # # Shotgun - kill all processes, except for the current thread and the active shell USER=`whoami` PROC="$$" if [[ -n $1 ]] ; then USER="$1" fi echo Killing Processes ... ps -U $USER | sed -e "1d" | grep -v bash | grep -v ps | grep -v su | grep -v sed | grep -v grep | grep -v kill | grep -v gawk | grep -v xargs | grep -v $PROC | gawk "{print \$1}" | xargs -n1 kill -9
Schlagworte: Linux, OpenSource, Script, Technik
Veröffentlicht am 03.08.2010 19:22 in Linux | Keine Kommentare »

Kommentare

Es sind noch keine Kommentare vorhanden

Kommentar schreiben:

Mit (*) gekennzeichnete Felder sind optional.
BBCode im Kommentarfeld erlaubt.