2013年3月16日土曜日

IIS6にはstderrが無い?

Webサーバ上でコマンドラインアプリを動かすことは良くある事と思います。

正常に動作し、エラーが出なければ何も問題無いのですが、エラーが起こったらstderrに詳細を流す事が多いです。

Apacheではstderrに流されても平気ないのですが、

IIS6だと、アプリが強制終了になる事を確認しています…

多分stderrが未定義なんじゃないかと思います。

CGIはstdinやstdoutや環境変数で子プロセスとやり取りすると思うのですが、

ISAPIはDLLであり、WebサーバとはAPI呼び出しで結合していますから… stdin/stdout/stderrを使っていない・存在しない。

子プロセスを開く際に、stderrへの出力を補足(リダイレクション)し、そのまま捨てるか、どこかに放流する必要が有ります。

0 件のコメント:

コメントを投稿