[PHP-users 14556]Re: set_time_limitについて

Kazumasa Gotoh kgotoh @ cic-kk.co.jp
2003年 4月 10日 (木) 11:15:12 JST


From: "K.satoru" <satoru_kumagai @ mjs.co.jp>
Date: Thu, 10 Apr 2003 10:54:23 +0900

> ってことは,windowsではsystem は「使えるけども,バックグラウンド
> では動作しない」ということなのか???

Unix 系 OS でも、system() 自身はバックグランドでは動作しません。
system() の仕様はそういうもので、マニュアルに書いてある通りです。

system() から呼び出される sh などのシェルがプロセスをバックグラウンド
に持ってゆく機能を持っているので、それを使えばバックグランド処理は
可能ですが、呼び出し側からは呼び出された側の制御はおろか、終了検知
などもチェックできません。
まるっきりの「行って来い」の世界になってしまいますが、それでも
構わない用途であれば用は足りる。という程度のものです。

Windows の場合は、9X 系を長らく使っていないので、9X ではどうだったか
忘れましたが、NT 系の cmd.exe の内部コマンドに start というのが
あるので、これで用が足りる範囲であれば対応できるでしょう。

> もしそうだとした場合,win環境でのバックグラウンド処理は
> 何か手法があるのでしょうか?

もちろん、Windows にも Win32API の世界では、プロセスやスレッドを
起こしたり、各種制御を行なうことができます。

PHP で… という話であれば、PHP にもプロセス関数がありますので、
これで用が足りるのならば、これを使えばいいでしょう。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
(株) セントラル情報センター
                             後藤和政    kgotoh @ cic-kk.co.jp


PHP-users メーリングリストの案内