アプリ版:「スタンプのみでお礼する」機能のリリースについて

cgiで呼び出したプログラム(延々と実行します)を、
指定した時間後にkillするcgiを作りたいです。

ここでプロセスidはすでにわかっており、
killコマンドは使えます(linuxを自分で立ち上げてるので)
というか、chmod 4755にしておくので
指定する時間はformから受け取るつもりです。
時間は数分、数時間単位、もしくは数日単位です。

あと、formからメールアドレスを受け取って、
プロセスをkillしたあと、その処理結果を受け取ったメールアドレスに送信もしたいです。
メールサーバは立ち上げています。

質問ばかりですいません。
お知恵を拝借させてくださいm(__)m

A 回答 (1件)

数分や数時間ならともかく、数日動きっぱなしなんですか?(^^;


取りあえずですが、こんな感じで出来ると思います。

1.CGIからbackgroundで延々と実行するプログラムを実行。
2.処理結果は逐次、プログラム名+PIDといった感じのデータファイルに書いておく。
3.同時にCGIから計算プログラムをkillするプログラムをbackgroundで起動する。
4.起動パラメータにはsleep時間とkillするPID、メールアドレスを渡す。(shellで書けば簡単ですね)
5.指定時間sleep後、killしたら、該当のデータファイルをメールで送信。

ただサーバーのCPU負荷を考えると、こんなものを大量に起動されたら簡単に落ちちゃうと思いますが…。
    • good
    • 0
この回答へのお礼

ありがとうございました。
なんとか、4まではできました^^
あとは、メール送信のみ!
systemでコマンドを実行させればいいかなと思っています。

あ、ちなみに、同時にこのcgiを実行できなくするつもりです。
どうやればいいんだろう・・・汗
分からなければ、また質問します。
ありがとうございました

お礼日時:2001/12/17 05:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!