Tom: mehrere Shell-Befehle mit php nohup

Beitrag lesen

Hello,

ich habe folgendes Problem:
Ich möchte per php mehrere Shell-Befehle auf meinem Ubuntu-Server aufrufen, die SEQUENTIELL ablaufen müssen (ein Bild wird bearbeitet und als neue Datei gespeichert, diese wird dann weiterverarbeitet) und die ich gerne vom php-Skript entkoppeln möchte mit nohup.
Momentan sieht mein Code so aus:

$command1="nohup convert -trim +repage pic1.png pic2.png; convert pic2.png -thumbnail 500x10000 pic3.png; convert pic2.png -resize 115x1000 -gravity Center -crop 115x196+0+0  +repage pic4.png; rm pic1.png; rm pic2.png > /dev/null 2> /dev/null & echo $";

$output = exec($command1 . ' 2>&1', $output, $return);


>   
> Das Skript an sich funktioniert auch gut, leider wartet aber mein php-Skript, bis alle Befehle beendet werden und die Befehle werden NICHT durch nohup von php entkoppelt.  
  
Du hast ja auch nur dem ersten Befehl das nohup-Attribut mitgegeben, sodass er auch weiterläuft, wenn die startende Shell geschlossen wird.  
  
Du musst ein Shellscript erstellen, dass komplett in den Hintergrund gestellt wird.  
Das kann auch eine PHP-Shell sein, die in den Hintergrund geschoben wird.  
  
  
   $pid = exec("/usr/local/bin/php hintergrund.php > /dev/null & echo \$!");  
  
  
würde dazu führen, dass das Script "hintergund.php" komplett vom Startprozess abgekoppelt wird. Voraussetzung ist selbstverständlich, dass die Pfad stimmen.  
  
In hintergrund.php kannst Du dann ganz normal, unter Beachtung der maximalen Laufzeit für das PHP-System, die übrigen Aufrufe vornehmen.  
  
  
  
  
  
  
  
  
  
Liebe Grüße aus dem schönen Oberharz  
  
  
Tom vom Berg  
![](http://selfhtml.bitworks.de/Virencheck.gif)  
  

-- 
 ☻\_  
/▌  
/ \ Nur selber lernen macht schlau  
<http://bergpost.annerschbarrich.de>