Aus einem Perl Script ein anderes im Hintergrund starten ?
MrSpoocy
- perl
0 hotti
Hi,
ich schreibe grade ein kleines Linux perl script. Und bin da auf ein Problem gestoßen. Ich habe eine schleife welches alles 10min ein andere perl datei im hintergrund starten soll. Jedoch mächte ich als rückgabewert die Prozess ID haben. Also als wenn ich in der Linux consoloe "perl script.pl &" eingebe.
Per flok kann ich das nicht umsetzen, alle versuche mit ` oder system sind fehlgeschlagen. Ich bekomme nie die Prozess ID zurück. Oder das Hauptscript wartet auf das ende des "Kind" - script was aber unter keinen umstenden so sein soll.
Derzeit löse ich das über eine bash datei welche halt simpel
./script.pl > /dev/null &
PID=$!
echo $PID > pid.pid
und diese ruf ich dann in dem perl script auf, das ist aber echt nur nee notlösung. Einer eine Idee wie ich das besser lösen kann ?
mfg Spoocy
Hi,
Per flok kann ich das nicht umsetzen, alle versuche mit ` oder system sind fehlgeschlagen. Ich bekomme nie die Prozess ID zurück.
Ich schon:
my $pid = fork();
Hotte
Hi,
»» Per flok kann ich das nicht umsetzen, alle versuche mit ` oder system sind fehlgeschlagen. Ich bekomme nie die Prozess ID zurück.
Ich schon:
my $pid = fork();Hotte
Das geht eben nicht, das andere scipt ist ein komplexes script. fork müste ich das andere script komplet umschreiben. Zudem wird ja nur eine Kopie erzeugt, aber da soll nicht der sin sein. Das hauptscript welches ich grade schreibe ist nur die steuerung für andere script welche gestartet werden sollen.
Moin Moin!
Auf fork() folgt exec() ...
Alexander