phpでexecを使った非同期処理
phpでexecを使った非同期処理メモ。
使い方は知ってたけど使ったことなかったので試してみた。
$cmdを配列にすればもっと並走させられます。
<?php // 重い処理 $cmd = "php heavy.php > /dev/null &"; // 非同期処理したいものをコマンドで渡す _exec($cmd); // ToDo : 別のことしててもいい // 非同期処理完了待 _wait($cmd); function _exec($cmd) { exec($cmd); } function _wait($cmd) { while (true) { exec("ps x | grep \"" . $cmd . "\" | grep -v grep", $output); if (count($output) <= 0) { break; } } } ?>