Выводит ли сценарий scan_part.php
что-либо, что ожидает / принимает вызывающий сценарий в качестве ввода? Если нет, вы можете использовать /usr/bin/time
для расчета времени выполнения скрипта scan_part:
exec('/usr/bin/time /usr/bin/php scan_part.php &');
Это возвращает что-то вроде этого:
0.00user 0.00system 0:00.00elapsed 0%CPU (0avgtext+0avgdata 4192maxresident)k
0inputs+0outputs (0major+318minor)pagefaults 0swaps
, который вы можете проанализировать на время. Это позволит вам получить время выполнения без необходимости изменять scan_parts.
С другой стороны, если scan_parts обычно не производит вывод, и вы можете / будете изменять его, тогда обернуть содержимое scan_parts парой вызовов microtime(true)
и вывести разницу будет проще.
$start = microtime(true);
.... do the core of scan_parts here
echo microtime(true) - $start; // output the runtime here
exit();
Это дает вам ОДНО значение времени для возврата, избавляя вас от затрат на анализ /usr/bin/time
.