Mailinglisten-Archive |
Hallo Mathias, danke erstmal, so werd ich das mit dem kill mal versuchen. Kannst Du mir auch verraten, wie ich den mlDonkey über PHP starte? Darum ging es mir nähmlich, er will nicht starten! Hier nochmal die Angaben: auf einem LAMP Server habe ich folgendes Problem: dieses Programm will ich über PHP ausführen: mldonkey > mldonkey.log & (so schreibe ich das sonst in die Konsole und Linux startet mldonkey im Hintergrund) die Ausgabe von dir bringt folgendes: -rwxrwxrwx 1 10575 21129 1052648 M?r 13 16:31 mldonkey (also die Rechte sind so gesetzt das mldonkey jeder ausführen kann) so hab ich es versucht: exec ("mldonkey > mldonkey.log &"); und nix ist passiert. Weißt Du mehr? Danke Alex ----- Original Message ----- From: "Gloss Mathias" <Mathias.Gloss_(at)_start.de> To: <php_(at)_phpcenter.de> Sent: Tuesday, May 21, 2002 4:59 AM Subject: Re: [PHP] exec() sytem() startet nicht jedes Programm - Warum? > Hiho, > > > Von: Alexander Saupe[SMTP:a.saupe_(at)_epvtec.de] > > > > 2. aber ich kann z.B. nicht den kill PID Befehl ausführen (keine > > Rückmeldung > > und killen tut er den entsprechenden Prozeß PID auch nicht - habe vorher > > die > > PID des abzuschießenden Programms ausgelesen) > > > Killen kann nur der Owner des Prozesses oder root. > > > > mldonkey > mldonkey.log & > > (so schreibe ich das sonst in die Konsole und Linux startet mldonkey im > > Hintergrund) > > > > die Ausgabe von dir bringt folgendes: > > -rwxrwxrwx 1 10575 21129 1052648 M?r 13 16:31 mldonkey > > (also die Rechte sind so gesetzt das mldonkey jeder ausführen kann) > > > das ist unbedeutend für das Killen. > > > zum testen habe ich die Rechte des Apache auf users gesetzt (in der > > httpd.conf) > > > das auch. > > Du mußt den mldonkey unter dem User starten, unter dem der Webserver > läuft, sonst kann der Webserver net den Prozess killen (Außer der Webserver > läuft als root, aber das solltest du wirklich! nicht tun ;) > > > Im Netz hab ich noch das (http://www.php.net/manual/en/ref.exec.php) hier > > gefunden und ausprobiert (auch wenn ich nichts davon verstanden habe): > > exec("php script.php parameters 2>dev/null >&- <&- > > >/dev/null &"); > > > hm so kompliziert brauchstes gar net .... > > Normal sollte ein exec('kill <Prozeß-ID>') reichen, wenn das zu killende > Programm unterm gleichen User läuft. Wenns nur ein Programm gibt mit > dem Namen, tut auch exec('killall mldonkey'); > > > Vor allen Dingen hab ich keinen Blassen was stdin oder stdout sein soll. > > > STDIN ist die Standardeingabe, also z.B. die Tastatur bei einem normalen > Programm. > STDOUT ist z.b. bei einem CGI-Programm die Ausgabe, die über den Webserver > an den Client geschickt wird. Oder bei deinem Beispiel oben mldonkey > > mldonkey.log & > das, was du mit > mldonkey.log in die Datei mldonkey.log umleitest. > Daneben gibts auch noch STDERR, die Standardfehlerausgabe... die kannst du > z.B. > mit > mldonkey > mldonkey.log 2> mldonkey.err & > in die Datei mldonkey.err schicken. > > Grüße, Mathias > -- > ** http://www.php-center.de ** > Die PHP-Liste: mailto: php_(at)_phpcenter.de > http://lists.phpcenter.de/mailman/listinfo/php
php::bar PHP Wiki - Listenarchive