Webサーバーで何らかの動的ページを生成する仕組みを持つことを前提として、

動的ページを生成するスクリプト(CGIやPHPなど)が長時間にわたって動作し続けた場合に、
スクリプトの動作完了前に、ブラウザ上で別のページへ移動したりブラウザを落としたりすると、
そのスクリプトの処理は自動的に止まるのでしょうか。
スクリプト言語やWebサーバーの種類、およびそれらの設定に依存すると思われますが、
この疑問に対する情報を教えてください。

これはユーザーがブラウザから長時間かかるCGIなどを起動したはいいが、
「なんか時間かかるなぁ、や〜めた」と言って中止したりした場合に、
サーバー側のスクリプト処理を止めたいのです。

スクリプト内でブラウザとのTCPコネクション状態が判別できればいいのかなとも思うのですが。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/06/01 00:38:52
  • 終了:--

回答(4件)

id:akimasa2000 No.1

akimasa2000回答回数276ベストアンサー獲得回数02004/06/01 00:43:29

ポイント20pt

http://tohoho.wakusei.ne.jp/lng/r200005/00050039.htm

そのファイルは現在ありません

ApacheでPerlを走らせている場合は、SIGTERMで、検出できます。

id:mshima

すみません、確認させてください。

SIGTERMはWindows上でも使用可能ですか?

#どこかでUNIXしか使用できないと書かれていた記憶があります。

#当方、Windows上で実現させたいのです。

2004/06/01 00:50:27
id:aki73ix No.2

aki73ix回答回数5224ベストアンサー獲得回数272004/06/01 00:47:35

ポイント15pt

http://tohoho.wakusei.ne.jp/lng/199911/99110249.htm

そのファイルは現在ありません

残念ながら止まりません

だから、連続でリロードしたりすると、プロセスがサーバの中で複数起動した状態になって、思いっきり負荷がかかったりすることがあります

Script内で判断するのは無理ですね

ただ、CGIを使う場合LOGにIPアドレスを記憶しておいて、前に起動したユーザと合致すれば ps/kill -9 等を使って強制的にプロセスを落とすようなCGIを作ることは可能です

id:mshima

ps/killですか・・・UNIXの世界ですね(笑)。

質問文に明確に書かなかった私が悪いのですが、

Windowsで実現できればと考えています。

2004/06/01 00:53:21
id:aki73ix No.3

aki73ix回答回数5224ベストアンサー獲得回数272004/06/01 01:36:10

ポイント15pt

http://www.cmdtools.com/

www.cmdtools.com

なるほど Windowsですか

Windows用の PS/KILLもあります

上がWin9x用

下がNT系

リンク3みたいなものもあります

まぁ、自分でVC++でCGIプログラム作ってしまうのが一番手っ取り早いんですけどね^^;

id:mshima

Windowsにもps/killが!

参考にします。

2004/06/01 07:29:36
id:hokutoy No.4

hokutoy回答回数2ベストアンサー獲得回数02004/06/01 02:24:46

ポイント50pt

http://www.microsoft.com/japan/msdn/library/default.asp?url=/jap...

このページは、存在しないか、削除されています。

Windows環境でIISを利用するのでしたら、ASP、ASP.NETでResponseオブジェクト(.NETの場合はHttpResponseオブジェクト)のIsClientConnectedプロパティでチェックできると思います。

id:mshima

なるほど、できそうな感じですね。

ありがとうございます。

2004/06/02 22:41:14

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません