hi leute!
ich habe gerade angefangen PHP zu lernen und wollte mal fragen ob es möglich ist mit einem PHP-script linux-systemaufgaben zu erledigen und das script richtig als dient im hintergrund laufen zulassen.
amarino Gast |
amarino Gast |
hi leute!
ich habe gerade angefangen PHP zu lernen und wollte mal fragen ob es möglich ist mit einem PHP-script linux-systemaufgaben zu erledigen und das script richtig als dient im hintergrund laufen zulassen.
Hallo,
ja, es ist möglich mit PHP Daemons zu schreiben. Tatsächlich eignet sich PHP sogar ziemlich gut dafür.
Voraussetzung ist, dass PHP mit CLI (Command Line Interface) erstellt ist, was bei fertigen Paketen meist der Fall ist. Allerdings unterstützt PHP kein Multithreading(leider), dafür aber das traditionelle Multitasking von Unix. Dadurch kann ein Prozess Child-Prozesse starten.
Voraussetzungen für einen gut geschriebenen Daemon:
-Prozessabtrennung
-Prozessunabhängigkeit
-Einrichten eines eigenen Arbeitsverzeichnisses
-Privilegien freigeben
danke erstmal für die schnelle antwort. klingt ja alles kompliziert. und wenn ich jetzt einen server oder einen netzwerkscaner schreiben will geht das auch?
Ja, geht auch. PHP bietet 'ne gute Unterstützung für Netzwerke. Allerdings bist Du bei solchen Unternehmungen im Interesse der Performance besser mit C/C++ bedient.
Erst PHP und jetzt Shell?
Mir fallen da 3 Möglichkeiten ein:
Du kannst die Funktionen getpwnam oder getpwuid nutzen. Die lesen direkt aus /etc/passwd.
Oder Du benutzt den Befehl id.
oder den Befehl whoami.
Nur eine Frage des eigenen Geschmacks.
in etwa so:
if [$(whoami) = "homer"]
then
// führe den Code aus
else
echo "Du mußt 'homer' sein um dieses Script auszuführen."
exit 0
fi
Klar?Wie kann ich dann aus ner prozess-id auch den namen der user ermittln?Aus der Process-ID selbst garnicht, aber auf nem Umweg geht's.
Rechtetechnisch wäre es auch noch möglichzuviel Arbeit
« Ubuntu: nichts geht mehr | Suse: fglrx falsche prüfsumme » | ||