pipes, mehrere befehle nacheinander
hi all
ich habe den code von oben übernommen und angepasst. nun sind mir aber noch einige sachen unklar.
nun wo ich mir nicht sicher bin ist, wann ich die pipes schliessen muss. ich habe jetzt nach jeder übergabe an pipe[0], eine while und die beiden pipes geschlossen. wäre für mich am logisten so. aber irgendwie geht das nicht, die Seite bleibt weiss, bzw. er lädt endlos lang. ist das ein deadlock was ich da gemacht habe ?
also meine frage eigentlich: wie ist die stuktur wenn ich mehrere befehle nach einander übergeben muss ?
ich hoffe ich hab mich klar genug ausgedrückt!
mfg Bubblez
hi all
ich habe den code von oben übernommen und angepasst. nun sind mir aber noch einige sachen unklar.
PHP:
$ssh = '';
$err='';
$descriptorspec = array(
0 => array("pipe", "r"),
1 => array("pipe", "w"),
2 => array("file", "/error.txt", "a")
);
if (is_resource($ssh)==FALSE || $ssh==""){
$ssh = proc_open("ssh -l cod ".$serveradr."", $descriptorspec, $pipes);
echo $ssh;
if (is_resource($ssh)){
//error('yes');
fwrite($pipes[0],'yes');
fclose($pipes[0]);
while(!feof($pipes[1])) {
$err .= fgets($pipes[1])." ";
}
fclose($pipes[1]);
echo $err;
fwrite($pipes[0],'$passw');
fclose($pipes[0]);
while(!feof($pipes[1])) {
$err .= fgets($pipes[1])." ";
}
fclose($pipes[1]);
echo $err."<br/>";
echo "Error-Pipes: ".$pipes.$pipes[0].$pipes[1]."<br/>";
//Fehler auslesen
echo "SSH Connection Successfull<br>";
}else{
echo "SSH Connection failed<br>";
}
}
nun wo ich mir nicht sicher bin ist, wann ich die pipes schliessen muss. ich habe jetzt nach jeder übergabe an pipe[0], eine while und die beiden pipes geschlossen. wäre für mich am logisten so. aber irgendwie geht das nicht, die Seite bleibt weiss, bzw. er lädt endlos lang. ist das ein deadlock was ich da gemacht habe ?
also meine frage eigentlich: wie ist die stuktur wenn ich mehrere befehle nach einander übergeben muss ?
ich hoffe ich hab mich klar genug ausgedrückt!
mfg Bubblez
Zuletzt bearbeitet: