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) -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org