zB: http://joseph.randomnetworks.com/archives/2005/10/21/fake-fork-in-php/

Am 26. Februar 2009 09:53 schrieb Frank Gerlach <[email protected]>:

> Google innerhalb der PHP Doku dochmal nach "exec" "execv" und "fork". Das
> sind zwar C stdlib Aufrufe, aber oft sind diese in PHP nachgebildet.
> Zumindest sollte man mit diesen Schlüsselwörtern die entsprechenden PHP
> calls finden.
>
> Ausserdem: Das Aufrufen eines shellskriptes durch einen Webserver ist
> möglicherweise ein grosses Sicherheitsloch. Am Besten ist eine genaue
> Prüfung der übergebenen Parameter. Mindestens muss die Seite durch
> https/Basic Authentication geschützt werden.
>
> Am 26. Februar 2009 09:02 schrieb <[email protected]>:
>
> Hallo LUG,
>>
>> bitte nicht steinigen, aber ich habe da mal einige Fragen zu
>> Shell-Skripten und PHP. Wem die Abkürzung PHP stört, kann vermutlich
>> auch Phyton oder Ruby einsetzen ;-). Nun aber los:
>>
>> Die Idee ist folgende: Einer Menge User soll ein Web-Interface zur
>> Verfügung gestellt werden. Dieses Interface beinhaltet eine Liste von
>> Shell-Scripten, die aufgerufen werden können (klick auf grünem Pfeil).
>> Es sollen Start- und Endzeit, ob das Programm läuft, ob es auf stdout
>> bzw stderr was geschrieben hat angezeigt werden sowie die Möglichkeit
>> des Abbruchs (klick auf rotes Kreuz) geben. Die Shell-Skripte sollen
>> im Hintergrund gestartet werden.
>>
>> Was funktioniert: Starten des Programmes, abbrechen des Programmes,
>> Startzeit des Programmes.
>>
>> Was nicht funktioniert: Das Programm im Hintergrund starten.
>> Ich starte das Skript per
>>
>> $command = 'cd ' . $programmpfad . ' && ' . 'nohup ./' . $programmname
>>               . ' > ' . $logFile . ' 2> ' . $errorFile . ' & echo $!';
>>
>> Auf der Shell sieht es ungefähr so aus:
>>
>> cd /mein/pfad/zum/programm && nohup ./programmname > run.log 2>
>> error.lug & echo $!
>>
>> Damit hätte ich auch die PID, über die ich kill ausführen kann. Nun
>> wartet aber trotzdem PHP bis das Programm im Hintergrund fertig ist
>> mit werkeln. Irgendwo ist das ja logisch, aber nicht gewünscht. Hat
>> jemand eine Idee? Also PHP soll das Skript starten und mir mitteilen:
>> Läuft. Das Skript soll werkeln. Wenn ich die PHP-Seite aktualisiere
>> soll mir irgendwann angezeigt werden: Läuft nicht mehr, erfolgreich
>> beendet oder Fehler (möglich über die Logfiles).
>>
>> Was auch nicht funktioniert: Zeitmessung
>>
>> Ich will wissen, wie lange das Programm im HG werkelte. Nutze ich
>> time, bekomme ich die PID von time (war auch interessant
>> herauszufinden, dass es einmal time als eigenständiges Programm und
>> einmal time als Bash-Befehl gibt). Hat jemand eine Idee wie ich ohne
>> time die Laufzeit bekomme?
>>
>> Natürlich bin ich auch für ganz andere Ideen offen.
>>
>> Vielen Dank für eure Mithilfe,
>>
>> Falk
>>
>>
>>
>> _______________________________________________
>> Lug-dd maillist  -  [email protected]
>> https://ssl.schlittermann.de/mailman/listinfo/lug-dd
>>
>
>
>
> --
> "Frauen sind wie Juwelen. Man muss sie mit Fassung tragen" Heinz Erhardt
>



-- 
"Frauen sind wie Juwelen. Man muss sie mit Fassung tragen" Heinz Erhardt
_______________________________________________
Lug-dd maillist  -  [email protected]
https://ssl.schlittermann.de/mailman/listinfo/lug-dd

Antwort per Email an