php5/Debian: Ist ein Prozess vorhanden?

...komplette Frage anzeigen

3 Antworten

http://php.net/manual/de/function.passthru.php

Also sowas in der Art von

passthru("ps -eaf | grep ...");

TheFrozenOne 22.03.2011, 13:34

Danke. Das ist genau das, was ich gesucht habe... :)

Könnt ihr mir jetzt vielleicht noch sagen, wie ich verhindern kann, dass der grep-Prozess, der gestartet wird, wenn ich den Befehl ausführe, mit in die Variable geschrieben wird? Oder einfach, wie ich das aus der Variable löschen kann? Wenn ich nämlich passthru('ps -eaf | grep "Befehl"', $Variable); ausführe, wird ja die Ausgabe von ps -eaf | grep "Befehl" in $Variable gespeichert. Da ist aber dummerweise auch noch "grep Befehl" drin. :\

0
auto350910 22.03.2011, 14:56
@TheFrozenOne

Das kannst du mit PHP-Stringfunktionen bewältigen oder du pipest gleich noch nach cut oder oder oder...

0

der Server hört doch sicher auf einem bestimmten Port? Warum machst du das nicht mit keinen Portcheck? übrigens ist "-v" die option für grep, alles anzuzeigen, was NICHT den angegebenen String enthält (ps aux|grep mine | grep -v grep)

lorenzo 22.03.2011, 16:14

portcheck siehe fsockopen()

0

Ich denke schon das ps das ist was du brauchst. Um welchen Prozess handelt es sich denn? Gib mal ein Beispiel.

TheFrozenOne 22.03.2011, 13:24

Es geht um einen Minecraftserver... :)

Der Prozess heißt dann ganz genau "java -Xmx1024M -Xms1024M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=1 -XX:+AggressiveOpts -jar minecraft_server.jar"

0

Was möchtest Du wissen?