在PHP中确定exec()时间?

时间:2015-10-21 10:21:23

标签: php exec

如何让exec()函数完成在PHP中运行的时间?

在我的php脚本中,我调用了一个linux程序,我希望程序能够休眠一段时间(只要程序的可执行时间直到它完成)并且在它完成之后,该程序将运行后续脚本。

exec()函数在以下脚本中运行。它将创建一个文件,它成功地解决了问题,否则它什么都不返回。但是,程序需要一些时间来创建文件或不返回任何内容。我意识到这个程序返回的时间有时比执行php脚本要长。这就是为什么我需要等待exec()先完成,然后让exec()之后的后续PHP脚本运行。

$cmd = $dir.$programName.self::SPACE.self::OPERATOR.self::SPACE.$dir.$domainFile
                    .self::SPACE.self::FACTS.self::SPACE.$dir.$inputFile.self::SPACE
                    .self::OUTPUT.self::SPACE.$outputFile;
 $output = exec($cmd, $output, $return);

 $solvable = false;
if (!file_exists($dir.$outputFile)) {
        $solvable = false;
}else{
        $solvable = true;
}

return $solvable;

2 个答案:

答案 0 :(得分:0)

您可以将microtime用作PHP代码的开始结束

<?php
    $time_start = microtime(true);
    //Your Code goes here
    $time_end = microtime(true);
    $time = $time_end - $time_start;
    echo "Process Time: {$time}";
?>

答案 1 :(得分:0)

<?php
$exec_starttime = microtime(true);
$result = exec("your command");
echo "execution time:" . (microtime(true) - $exec_starttime) . " seconds";
?>

php会等到你的命令完成,因为它需要将输出保存到$result变量