Re: trap und killall
Thomas Moritz <[email protected]> Sat, 6 Mar 2010 18:46:13 +0100
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Organization | - |
| Message-ID | <[email protected]> |
Am Samstag, 6. März 2010 16:52:54 schrieb Sebastian Siebert:
Hallo Sebastian,
> > in einem Script setze ich ein lock-File, was beim Beenden
> > wieder geloescht wird.
> > Mit trap moechte ich erreichen, dass das lock-File auch
> > verschwindet, wenn das Script mit killall scriptname
> > abgeschossen wird. SIGINT, SIGKILL usw. scheinen in dem Fall
> > nicht zu greifen. kill -l zeigt ja alle Moeglichkeiten, aber
> > welche greift bei killall?
>
> Schau mal hier:
> <http://de.wikibooks.org/wiki/Linux-Kompendium:_Shellprogrammieru
> ng#Fallensteller:_Auf_Traps_reagieren>
>
> Und hier alle Signale:
> <http://linux.die.net/man/7/signal>
>
> Google sei dank. :-)
Danke! Hier werden die Sig's etwas ausfuehrlicher dokumentiert als
bei kill -l
> > Beispiel-Schnipsel:
> >
> > #!/bin/sh
> >
> > lockfile="/dev/shm/myscript.lock"
> >
> > trap "rm -f $lockfile" SIGKILL
>
> # es hätte wie folgt lauten müssen (9 = SIGKILL):
> trap "rm -f $lockfile" 9
Ich wuerde sagen, die bash akzeptiert die 9 und das SIGKILL.
Zumindest klappt das mit SIGINT und Ctrl-C.
Das Script kann ich mit kill -9 <pid> killen, aber trap reagiert
nicht auf 9 und nicht auf SIGKILL!
Der Hund liegt irgendwo anders begraben. Ich werde nachher mal
_ohne_ Variable testen und das lock-File direkt angeben.
trap "rm -f /dev/shm/myscript.lock" SIGKILL
MfG Th. Moritz
--
Es gibt nur eines, was teurer ist als
eine Frau, nämlich eine Ex-Frau…
(Jack Nicholson)