Re: [OT] Perl: Subshell
[posted and mailed]
Hi Ingo,
ist schon ein bisschen her, deswegen auch nochmal per eMail.
> bist du dir sicher, dass du das externe Program auch mit exec()
> gestartet hast? Denn: exec() *ersetzt* das aktuelle Programm (also
> das Kind) durch dein externes Programm. Wenn du nun die PID deines
> Childs abschießt, schießt du damit das externe Programm ab, da es
> ja die PID des Childs übernommen hat. Das Child, was du geforkt
> hast, also einen Teil deines Perl-Programms, gibt es dann nicht mehr.
Ja, ich benutze exec(). Und jetzt habe ich mich ein wenig mehr in die Materie
eingearbeitet, diese fork-Geschichte war komplett neu für mich.
Nun das Problem:
Das externe Kommando, das ich ausführen will, ist
"executable < steering.txt > logfile.txt"
Ich forke, und rufe das Kommando im Child mit exec auf. Da aber
Shell-Metazeichen im Kommando sind, ruft Perl erstmal "sh -c" auf, und dieser
Prozess bekommt dann die Child process id. Ich stehe also wieder ohne die id
von meinem "eigentlichen" externen Prozess da :-/
Hast du noch Vorschläge?
- Moritz
PS: Ich bin auch dankbar für eine angesagte Perl Mailinglist, ich weiß dass es
ja hier eingentlich OT ist.
Reply to: