lothar.behrens@lollisoft.de schrieb:
Am 31 Jan 2006 um 9:21 hat Bernard.Bramlage@kisters.de geschrieben:
Vielleicht hilfts:
## install trap for automatic deletion of TMPFILE and MSGFILE at ## SIGEXIT (0) see 'man bash' and all other signals. The trap for ## SIGKILL (9) is ignored though, of course. See 'help trap'. trap "rm -f \"$TMPFILE\"; rm -f \"$MSGFILE\";" `seq 0 63`
Lothar
Hallo, ich habe folgende Situation. Ein C++ Programm ruft mit execve ein Bash Skript auf und wartet mit waitpid() auf die normale Beendigung. Wenn die Ausführung des Skriptes zu lange dauert, soll es mit kill(pid, SIGKILL) beendet werden. Das Skrpt selber ruft wieder ein C++Programm auf. Jetzt ensteht folgende Situation. Nach dem kill() geht das Skript in den Status defunct und das vom Skript aufgerufene Programm läuft normal weiter. Hierzu jetzt 2 Fragen: Wie kann ich erreichen, dass auch das vom Skript aufgerufene Programm beendet wird, also das kill() quasi weitergegebe wird? Wir verhindere ich, dass das Skript in defunct geht? Ich muss wahrscheinlich nach kill nochmal waitpid() aufrufen, möcht hier aber nicht ewig warten müssen.
Vielen Dank im voraus für eure Hilfe.
Gruß Bernard
du kannst doch die pid des gestarteten programms ermitteln ($# glaub ich) versuch doch die an dein erstes programm zu übergeben und dann ggf kill(pid, ...); danach sollte sich das skript ja automatisch beenden, ansonsten musst du das skript noch anpassen greatz Johannes -- Es gibt 10 Arten von Menschen auf dieser Welt, die einen verstehen das Binärsystem und die anderen verstehen es nicht.