phpbar.de logo

Mailinglisten-Archive

[PHP] exec() sytem() startet nicht jedes Programm - Warum?

[PHP] exec() sytem() startet nicht jedes Programm - Warum?

Achim Gosse php_(at)_phpcenter.de
Wed, 22 May 2002 10:50:39 +0200


> On Wednesday 22 May 2002 02:26, Alexander Saupe wrote:
>
> > DAS EIGENTLICHE PROBLEM IST DIESES:
> > Wenn ich doch erstmal den bloeden mlDonkey über PHP starten
> könnte....
> > das geht nicht, kann ihn nicht starten. Habs damit versucht: exec
> > ("mldonkey > mldonkey.log &");
>
> Ich habe für diese Problem auch noch keine gute Lösung
> gefunden. Das einzige,
> was in ähnlichen zusammenhängen funktioniert hat, ist einen
> kleinen "daemon"
> in c zu schreiben, den aufzurufen und ihm als parameter den
> Aufruf mit zu
> übergeben. Soweit ich das verstehe, wird alles, was du von
> php aus startest,
> beendet, sobald das script beendet wird (...).



nein nein, nix mit daemon.

schau dir mal das programm nohup an.

das problem dabei ist naemlich:

wenn ein user seine shell schliesst, sendet das os an alle seine
prozesse das hup signal.
das heisst dann fuer die meissten prozesse, die das nicht abfangen: bye
bye.
wenn du aber das eigentliche programm mit nohup "kapselst", dann
erreicht das hup das programm nicht und es laeuft weiter.

also: man nohup und dann nochmal ran... ;)

/achim


php::bar PHP Wiki   -   Listenarchive