PHPスクリプト全体のタイムアウトならset_time_limit()でよさそうだが、exec()単体で止めたかった。
http://php.net/manual/ja/function.set-time-limit.php
OS依存だけど、UNIX系なら動く
exec("timeout 10 XXXXX.....", $retval);
system("timeout 10 XXXXX.....", $retval);
if ($retval === 124) {
echo 'timeout';
}
Windowsだとtimeoutはsleep的な動きなので動きません
Macも多分ないので動きません
ちなみにLaravelだとsystem()はエラー出力した瞬間Exceptionに飛んでった。