時間のかかる処理、例えば・・・大量のメール配信などがある。
この時に通常の方法で処理するとその時間がかかる処理が終了するまで
ブラウザを使用できなくなる。
そんな時は、処理をバックグランドで処理させるようにすれば
escapeshellcmd処理が終わったことをユーザーに通知させて、実際は、裏で
処理している状態にすることができる。
バックグランド処理方法
Perl などであれば、fork 関数だが
PHPは system 関数や、exec 関数う。
system("/usr/bin/php /home/yourweb/実行ファイルまでのパス > /dev/null &");
/dev/null は全ての出力を捨てる
& はバックグランドで実行
時間のかかる処理は、裏でやらせておけば
ユーザーに与えるストレスを少なくすることができる。
escapeshellcmd でエスケープすると & がエスケープされるせいか
バックグラウンドで実行されない!?俺はそうだった(^^;)
この時に通常の方法で処理するとその時間がかかる処理が終了するまで
ブラウザを使用できなくなる。
そんな時は、処理をバックグランドで処理させるようにすれば
escapeshellcmd処理が終わったことをユーザーに通知させて、実際は、裏で
処理している状態にすることができる。
バックグランド処理方法
Perl などであれば、fork 関数だが
PHPは system 関数や、exec 関数う。
system("/usr/bin/php /home/yourweb/実行ファイルまでのパス > /dev/null &");
/dev/null は全ての出力を捨てる
& はバックグランドで実行
時間のかかる処理は、裏でやらせておけば
ユーザーに与えるストレスを少なくすることができる。
escapeshellcmd でエスケープすると & がエスケープされるせいか
バックグラウンドで実行されない!?俺はそうだった(^^;)