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
