[PHP-users 22853]Re: バックグラウンドのプロセス終了処理

Katsuyoshi Sugita sugita @ artproc.com
2004年 7月 29日 (木) 05:19:52 JST


すぎた と申します。
はじめまして。

>金澤です
>バックグラウンドのプロセスの終了方法についてのご質問です。
                        ↑
              自分の質問に「ご」。気になりましたw

system() って、「処理が完了しないと戻ってこない」ですよね? "&"つけてても。
うちの 純粋Vine 2.6 で実験しましたが、戻ってきませんでした。

 -- test.php --
 <html>
 <body>
 <? system("/home/sugita/public_html/test &"); ?>
 </body>
 </html>

 -- test.c 無限るーぷ --
 #include <stdio.h>
 int main(int argc, char *argv[])
 {
   int i=0;

   while(1){
     printf("%d\n",i++);
     sleep(1);
   }
 }

他のだと、戻ってくるんでしょうか?
つまり、「test.sh を動かしたブラウザは、まっしろけ のまんま」だと思うんですが。

以上のは、ま、いいとして。

 1)いつ、誰に、動かされるかわからない
  =ある時点で test.sh がいくつ動いているか判らない

 2)いま動いているかもしれない test.sh が
  どこまで期待通りに動いているか判らない

 3)はたまた、ひょっとしたら、test.sh は、終わってるかも知れない

だとすると、

 「次に test.sh を起動するときに、
  もし、動いていたら、(岡崎@BBYさんの方法で)kill する」 

でも、いいかもしれないと思ったりしたりしましたw

# 正解は、エラい人にw  (*’д`)

---
Katsuyoshi Sugita


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