Mailinglisten-Archive |
Hiho, > Von: Alexander Saupe[SMTP:a.saupe_(at)_epvtec.de] > > From: "Gloss Mathias" <Mathias.Gloss_(at)_start.de> > > Das Problem hierbei ist, daß man aus PHP raus nicht einfach Subprozesse > > starten kann, die den Tod des Parents überleben. Wir hatten mal was > gemacht, > > wo über PHP ein Programm im Hintergrund gestartet werden sollte, und das > > ging nur, wenn man ein anderes Programm dazwischen geschaltet hatte... > > leider hab ich das Shellscript, das wir gebastelt haben, nicht hier auf > der > > Arbeit, > um die Zeit...? > klar ;) > > aber ich kann mal heute abend danach schauen. Auf jeden Fall gings nicht > > ohne ein vorgeschaltetes Script / Programm. > > Danke Mathias, das hier hab ich auch noch gefunden und derjenige schreibt, > dass der Prozess weiterläuft, selbst wenn einer den Browser schließt > (steht > im vorletzten Abschnitt): > For those who want to execute a .php script to run in the background, from > a > .php web page... > > exec("php script.php parameters 2>dev/null >&- <&- > >/dev/null &"); > hm das könnte sein. Der Trick war, daß man komplett alle Ausgaben des Scripts und alle Eingaben abhängt. Wobei mir das nich so klar ist was der gute Mann da macht weil > Where... > - php is the path to your php script executer (php has to be specifically > complied to be to do this) > - script.php is the script > - parameters are none or more parameters > - 2>dev/null redirects the stderr to a file > - <&- switches off the stdin > - >&- switches off the stdout > - >dev/null redirects all other output to the file dev/null > - & direct script to run in background > Entweder schiebt er die Standard-Ausgabe mit > /dev/null ins Nirwana, ODER er schaltet sie mit >&- ab ... naja ich würds mal an deiner Stelle so probieren: Auf der shell sollte dir which mldonkey sagen, wo das gute Stück genau liegt.... z.B. in /home/gloss/mldonkey dann sollet es so gehen: exec('/home/gloss/mldonkey >/tmp/mldonkey.log 2>/dev/null < &- &'); Damit werden die Fehler (STDERR) ins Nirwana (/dev/null) entsorgt, die Ausgabe von mldonkey nach /tmp/mldonkey.log geschrieben (wenn die woanders hinsoll, muß der Webserverprozess Schreibrechte für das Directory haben, wo die Datei hinsoll!), und die Eingabe wird mit &- abgehängt und das ganze in den Hintergrund geschubst & Gugg ma, was damit passiert :) Grüße, Mathias
php::bar PHP Wiki - Listenarchive