dongxianji0968 2018-03-25 20:37
浏览 57

PHP远程ssh脚本获取stderr并确定脚本执行何时结束

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.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥35 平滑拟合曲线该如何生成
    • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
    • ¥15 名为“Product”的列已属于此 DataTable
    • ¥15 安卓adb backup备份应用数据失败
    • ¥15 eclipse运行项目时遇到的问题
    • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
    • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
    • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
    • ¥50 成都蓉城足球俱乐部小程序抢票
    • ¥15 yolov7训练自己的数据集