我在Debian上运行PHP脚本调用ping命令并执行exec()输出重定向到一个文件:测试从PHP打开的文件仍处于打开状态
exec('ping -w 5 -c 5 xxx.xxx.xxx.xxx > /var/f/ping/xxx.xxx.xxx.xxx_1436538580.txt &');
PHP脚本,然后有一个while循环扫描/ var/f/ping /文件夹,并检查ping是否写入完成。我试着使用检查的输出:
exec('lsof | grep /var/f/ping/xxx.xxx.xxx.xxx_1436538580.txt');
,看是否该文件仍然是开放的,但它需要lsof的约10-15秒返回它的结果,这是我们所需要的速度太慢。理想情况下,它应该能够在2或3秒内检查。
有更快/更好的方法来测试ping是否完成?
这正是我所需要的。这大大加快了速度。谢谢! – raphael75