作業ノート

様々なまとめ、雑感など

system関数でバックグラウンド実行

ハマったのでメモ。

$ vi sleep.sh
#!/bin/sh
sleep 10
$ vi sleep.php
<?php
system("/bin/sh ./sleep.sh > /dev/null &");
echo "ok\n";
$ php sleep.php
ok
$
  • system関数の最後に'&'をつける。
  • 標準出力をどこかにリダイレクトする。

'&'をつけても標準出力をリダイレクトしないと、終了するまで待たされる。