MrSpoocy: Aus einem Perl Script ein anderes im Hintergrund starten ?

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

  1. 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

    --
    Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
    1. 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.

      1. Moin Moin!

        Auf fork() folgt exec() ...

        Alexander

        --
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".