PHPからバックグラウンド処理を実行させる(できた)
2010/11/28 | CLI
以前PHPからコマンドをキックしてバックグラウンドさせる方法について記事を書いた。できたようなできなかったような・・・結果として上手くいかなかったのだが、やっと解決できた。Linux系OSに関する知識の少なさが改めて露呈する結果となってしまった。
いくつかパターンを試してみた。
- exec(‘/usr/bin/php /path/to/command.php’);
- exec(‘/usr/bin/php /path/to/command.php &’);
- exec(‘/usr/bin/php /path/to/command.php >/dev/null 2>&1′);
- exec(‘/usr/bin/php /path/to/command.php & >/dev/null 2>&1′);
- exec(‘/usr/bin/php /path/to/command.php >/dev/null 2>&1 &’);
前回1番目から3番目を試していて、4番目と5番目を忘れていた。「&」の位置は後が正しいようだ(バックグラウンド処理の&はとにかく1番後ろに付けるのが正解みたい)。ということで5番目でバックグラウンド処理ができた。めでたしめでたし。