如何等待wget和tar命令的完成?

时间:2018-05-07 17:59:16

标签: linux ssh phpseclib

我有一个类似于下面的代码数组。

$ssh->exec('mkdir /root/example');
$ssh->exec('wget -q -P /root http://www.example.com/example.tar.bz2');
$ssh->exec('tar -xjf /root/example.tar.bz2 -C /root/example');
$ssh->exec('rm /root/example.tar.bz2');

我的问题;

下一个命令在wget和tar命令完成之前启动。我如何等待wget和tar命令的完成?

我试过了;

$ssh->exec('mkdir /root/example');
$ssh->exec('wget -q -P /root http://www.example.com/example.tar.bz2');
sleep(10);
$ssh->exec('tar -xjf /root/example.tar.bz2 -C /root/example');
sleep(10);
$ssh->exec('rm /root/example.tar.bz2');

我试过睡眠命令。但不行。

编辑:我的英语不好。

1 个答案:

答案 0 :(得分:1)

尝试$ssh->setTimeout(0);。默认情况下,phpseclib在10秒后超时。将超时设置为0将使phpseclib不会超时。 PHP可能会,但phpseclib赢了。