ich möchte ein PHP-Script schreiben, welches überprüft ob eine bzw. meherere angegebener Anwendungen laufen oder nicht.
Mir geht es darum, mit welchem kommando (shell?) kann ich ein Programm suchen und dementsprechend TRUE oder FALSE zurückgeben.
Bisher habe ich es wie folgt versucht, was ein anfang ist, jedoch möchte ich nach möglichkeit noch eine andere Variante nutzen:
Code: Select all
#!/usr/bin/php -q
<?php
$logfile = "servstat.run";
if(file_exists($logfile)) unlink("servstat.run");
shell_exec("ps ax >> ".$logfile);
$mainfile = fopen($logfile, "r");
$filesize = filesize($logfile);
$runfile = fread($mainfile, $filesize);
$suchstr = array("cod_lnxded","testcmd","mysqld");
$i = 0;
while($i <= 2) {
echo "ID: $in";
if(eregi($suchstr[$i], $runfile)) {
$run[$i] = true;
} else {
$run[$i] = 0;
}
echo " ".$run[$i]."n";
$i++;
}
echo "Call of Duty: ";
if($run[0] = true) echo "RUNNING!n";
else echo "OFFLINE!n";
echo "Test: ";
if($run[1] = true) echo "RUNNING!n";
else echo "OFFLINE!n";
echo "MySQL-Server: ";
if($run[2] = true) echo "RUNNING!n";
else echo "OFFLINE!n";
?>Code: Select all
ID: 0
1
ID: 1
0
ID: 2
1
Call of Duty: RUNNING!
Test: RUNNING!
MySQL-Server: RUNNING!Das Problem was ich mit diesem "komischen" Script habe ist das troz nicht vorhanden sein des Programms und richtig gesetzer ID bzw. true und false (als 0), immer RUNNING ausgegeben wird, obwohl wie man sieht bei ID 1 die Variable $run[1] = 0 ausgibt.
Gerade weil dieses Script ziemlich absurd ist, zumindest meiner meinung nach, möchte ich gern irgend einen anderen weg der Programmüberprüfung haben.
Danke im schonmal vorraus!