I am execute a remote script using PHP. I redirect the ouput of the script to a file so i can get the output. But i want to know when the script has finished so i can be able to show the complete output.
public function actionLauncher()
{
$connection = ssh2_connect('server', 22);
ssh2_auth_password($connection, 'test', 'test');
$stream = ssh2_exec($connection, '. /home/test/counter.sh > out2.txt 2>&1 &');
stream_set_blocking($stream, true);
$stream_out = ssh2_fetch_stream($stream, SSH2_STREAM_STDIO);
$stream = ssh2_exec($connection, 'exit');
unset($connection);
}
public function actionView()
{
$connection = ssh2_connect('server', 22);
ssh2_auth_password($connection, 'test', 'test');
$stream = ssh2_exec($connection, 'cat /home/test/out2.txt');
stream_set_blocking($stream, true);
$stream_out = ssh2_fetch_stream($stream, SSH2_STREAM_STDIO);
$processStatus = stream_get_contents($stream_out);
echo $processStatus;
$stream = ssh2_exec($connection, 'exit');
unset($connection);
}
I want to determine when the counter.sh has finished and the exit status so i can call the actionView() method to show the output.