Function >> Array auslesen + explode --> neues Array? Nur wie?

Sway

Erfahrenes Mitglied
Hi. Ich bin jetzt ein wenig überfordert...

Ich habe Prozesse laufen, die ich mit screen +sessionname gestartet hab (Linuxserver). Der Sessionname ist _phpscript.type_ gestartet hab. Für type kommt halt der Programmname rein.

Nun will ich auslesen, wieviele Programme und welche laufen. Erstes ist kein Problem, aber das 2te.

PHP:
function server_online($var1)
{
	$abfrage = "screen -ls |grep ".$var1;
	exec($abfrage , $out);
	$count = count('$out');
		if ($count == "0")
		{
			$var2 = array('NONE');
		}else{
			foreach($out as $zeile)
		    {        
			$var2 = trim($zeile);
			$var2 = explode("_", $var2);
			$var2 = explode(".", $var2[1]);
			$var2 = array($var[1]);
		    }
		}
		return $var2;	
}

Die abfrage "screen -ls |grep phpscript" ergibt diese zeilen aus:
Code:
slutbox:/home/sway# screen -ls |grep control
        14287._phpscript.programm1_    (Detached)
        14293._phpscript.programm2_    (Detached)
        14299._phpscript.programm3_    (Detached)

Mit dem Script hatte ich erfolgslos versucht die 3 zeilen (können auch mehr oder weniger sein) in ein array einzulesen, dieses zu bearbeiten und anschließend ein array mit dem inhalt programm1, programm2 und programm3 zu erhalten...

Doch leider bin ich das wohl nicht sehr geschickt angegangen um das zu bewerkstelligen. Habt ihr ne Idee wie ich das richtig angehen sollte?


MfG Sway
 
Hallo,
versuch's doch bitte einmal so:
PHP:
function server_online($var1)
{
    $abfrage = "screen -ls |grep ".$var1;
    exec($abfrage , $out);
    $count = count($out);
        if ($count == "0")
        {
            $retval[] = 'NONE';
        }else{
            foreach($out as $zeile)
            {
            $var2 = trim($zeile);
            $var2 = explode("_", $var2);
            $var2 = explode(".", $var2[1]);
            $retval[] = $var[1];
            }
        }
        return $retval;
}

Die Funktion gibt ein Array zurück, auch wenn keine Programmnamen gefunden wurden.

snuu
 
Zurück