忍者ブログ
  ちゃんとカテゴリ分けされておりませんので、 記事をお探しならブログ内検索が便利です。 ご活用くださいませー+.(≧∀≦)゚+.゚
Admin*Write*Comment
[648]  [647]  [646]  [645]  [643]  [642]  [641]  [640]  [639]  [638]  [637

おそらくPHPに限ったことではないのだけど。
プログラムの中でバックグラウンドプロセスを生成したいケースはよくあること。
PHPが正式にCLIに対応した5系以降であれば、利用シーンはあると思います。

しかし、一度バックグラウンドへプロセスを投げてしまうと普段フォアグランドで作業する我々にはその処理を追いにくくなります。
特に、デバッグが不完全なプログラムで無限ループを生成してしまうと、ゾンビプロセスそのものです。
しかも通常のゾンビと違いリソースを食うのですから、ザ・ハウス・オブ・ザ・デッドのようです。

jobsコマンドで発見出来ないので、今ひとつ制御が難しいですが、
PHPで何が何だか分からなくなったら、killしてしまうのも良いかもしれませんね。

killall php

ただ、運用中のサーバだと・・・
正直通常バッチプロセスなのか、バックグラウンドで迷子になっているプロセスなのかわからないんですよね。。。
こうならないように自由にできる環境で十分に試験は行いたいものです^^



例:無駄プロセスを生成するPHPソース。

main.php
<?php
  $cmd = "/usr/local/bin/php /root/sub.php &";
  for($i=1; $i=10; $i++){
    `$cmd` ;
  }
?>



sub.php
<?php
  while(true){
    sleep(5);
  }
?>



拍手

PR



COMMENT
Name
Title
Color
Mail
URL
Text
Pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
secret

TRACKBACK
TrackbackURL:
ブログ内検索
カレンダー
06 2017/07 08
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
カウンター
最新コメント
最新トラックバック
プロフィール
+ハンドル+
y_ayamori(purple)
+職業+
IT系エンジニア
+すまい+
さいたま
バーコード
ブログパーツ
アバター
Copyright © アナログを愛するデジタル生活館 All Rights Reserved.
photo by Kun material by Atelier Black/White Template by Kaie
忍者ブログ [PR]