Claudia: system() in Hintergrund ausführen

Hi Forum,

ich verwende PHP 4.4.2 und möchte aus meinem PHP-Skript ein Perl-Skript aufrufen. Dieses rechnet allerdings sehr lange, und ich möchte nicht, dass meine Seite so lange wartet. Deshalb wollte ich das Perl-Skript im Hintergrund ausführen. Ist das mit system() oder exec() überhaupt in PHP möglich?
Ich hab schon mit sowas experimentiert:
  system("nohup $command 2&1>/dev/null &");
aber auch das funktionierte nicht.

Danke, Claudia!

  1. Hi Claudia,

    system("nohup $command 2&1>/dev/null &");

    Ich habe das auch vor einiger Zeit mal probiert - allerdings war es bei mir ein PHP-Script was aus einem anderen PHP-Script gestartet im Hintergrund lauefn sollte.

    Sven brachte mich dann auf die Idee, dass ein

    fclose(STDIN);
      fclose(STDOUT);
      fclose(STDERR);

    im PHP-Script welches im Hintergrund läuft helfen könnte. Zusammen mit einem einfachen

    $ausgabe = exec("./script.php")

    funktioniert das einwandfrei (wobei script.php eine Shebang haben und ausführbar sein muss).

    MfG, Dennis.

    --
    Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
    Patch zur Verwendung von PATHINFO in JLog
    Wenn Sie einen Schweizer Bankier aus dem Fenster springen sehen, springen Sie hinterher. Es gibt bestimmt etwas zu verdienen. (Voltaire)
    1. Hi,

      Danke für deine Lösung, aber auch diese hat bei mir leider nicht funktioniert. Auf php.net fand ich dann folgendes Schnipsel, welches tut:

      <?php
      ...script before...
      exec("$ProgExec > /dev/null &");
      ...script after
      ?>