• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CGIがKILLされたら、Cで動的に確保したメモリは?)

C言語で動的に確保したメモリのCGIがKILLされたら

このQ&Aのポイント
  • C言語でCGIを製作している際に、動的に確保したメモリ内容を標準出力に表示している場合、閲覧者からの受信停止が起きた場合の処理方法を知りたいです。
  • APACHEのログを確認したところ、出力が最後まで行われず、30kbyte程度で収まっていることが分かりました。
  • OS側での処理方法が最善であれば良いですが、それについても教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • flame
  • ベストアンサー率100% (3/3)
回答No.1

 UN*X系のOS(Linuxもそう)で、webサーバがApacheであれば、ブラウザ側で中断されると、CGIで起こされたプロセスにはSIGTERMが送られます。SIGTERMを受け取ったプロセスのデフォルトの処理は「強制終了」で、使っていたリソース(メモリとか、ファイルハンドルとか)は、OSによってシステムに回収され、後始末されます。  もちろん、SIGTERMを受けるシグナルハンドラを定義して、自前で終了処理を行ってもかまいません。

kitcat
質問者

お礼

CGIの場合もFree()しなくても、大抵はOS側でやってくれるのですね。 ありがとうございました。

関連するQ&A