訪問者にブラウザ上で動かしてもらうのではなく
サーバー(Linux CentOS)の裏で実行し続けるカタチで実現したいです。
おそらく何かスクリプト的なモノを書いて
windowsでいう「スタートアップ」的なところに登録するんだと思いますが
やり方が全く分かりません。
ご存じの方はどなたか教えて頂ければ幸いです。
”cron” というジョブ(スクリプト)を自動実行するためのデーモンプロセスを使います。
ちょっと設定する部分がいくつかあり敷居が高いように感じますが、試してみてください。
CRON設定
人力検索にもいくつか挙がっています。
まだ終了されていないものですが、ウォッチリストに入れて開くのを待つといいでしょう。
私も Cron が思い浮かびましたがCron の実行は分単位なので、今回はスクリプトでループで回してはどうでしょうか。
たとえば test.sh のような形で作成し
#!/bin/sh while [ 1 = 1] do php のプログラム処理 sleep 1 done
これを cron で実行、あるいは
./test.sh&
のような形で実行すれば、お望みの形にならないでしょうか。
http://cyberam.dip.jp/linux_command/shellscript/shellscript_main...
場合によっては、エラー対策や二重起動の対策をする必要があるかもしれません。
ありがとうございます。
スクリプト的なものは書けそうです。
サーバーが起動したときに、自動的に動かすにはどうしたらいいんでしょうか?
PHPスクリプトの種類に依ると思います。
毎秒スクリプトの実行結果をブラウザに表示したいのなら metaタグでrefreshを指示するなりJavascript(どう記述するのかは分かりませんが...)で毎秒再読込みをするという方法はどうでしょう。
サーバやトラフィックに負荷を掛ける事になるので、必要性などを再考されてからの方が良いと思います。
http://www.tohoho-web.com/html/meta.htm
ブラウザ(表示)に関係なく実行するのなら、cron よりもPHPスクリプト内で sleep() をはさんだ無限ループにしておくのが現実的でしょう。
自動実行したいのであれば、起動スクリプトを書いて、chkconfig で自動実行をセットすると良いと思います。
起動スクリプトは、/etc/init.d/ にいろいろとあると思うのでそれらが参考になります。
http://www.searchman.info/tips/1640.html
http://www.geocities.co.jp/SiliconValley-Cupertino/9120/startup....
http://www.searchman.info/tips/1630.html
このページを見てました。
aaa.sh というスクリプトを動かしたかったら、xxx の部分を aaa.shに変えるだけでOKですよね?
これならなんとかできそうです。
通常のcronの呼び出しサイクルは最小1分間隔ですし、1秒という短いサイクルなのでオーバーヘッドがかかります。デーモンにして常駐した方がいいでしょう。
Linuxのプロセス管理に関する知識は必須で、下記サイトを参考にしてください。
申し訳ないんですがこのソースコードはどのように活用すればいいんでしょうか?
1分間隔のCRONを60個作って
1秒単位に見せかけるという手段もありますが、何かちょっとヤバイ気がします。