Cプログラムのシャットダウンシグナル

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
のとと

Cプログラムのシャットダウンシグナル

#1

投稿記事 by のとと » 15年前

linuxで自作プログラムのデーモンを作成していて,シャットダウンの処理に困っています.

Cプログラムでファイルをオープンして追加書き込みの処理をしていたとします.

このとき,誤ってOSをシャットダウンしてしまった場合,
ファイルはオープンされたまシャットダウンしてしまうのでしょうか?
それともOSレベルでファイルをクローズしてくれてシャットダウンするものなのでしょうか?

宜しくお願いします.

Poco

Re:Cプログラムのシャットダウンシグナル

#2

投稿記事 by Poco » 15年前

OSレベルでクローズしてくれます。
内容は保証できないと思いますが。

のとと

Re:Cプログラムのシャットダウンシグナル

#3

投稿記事 by のとと » 15年前

ありがとうございます,

安全にクローズしたいのですが,シャットダウンのシグナルみたいなのを
C言語で監視できるものなのでしょうか?

> OSレベルでクローズしてくれます。
> 内容は保証できないと思いますが。

アビゲイル

Re:Cプログラムのシャットダウンシグナル

#4

投稿記事 by アビゲイル » 15年前

http://d.hatena.ne.jp/seiunsky/20090322/1237747356
↑こんな感じでシグナルごとの挙動を変更することができますが、
デーモンプロセスは、ソケットを扱うので、基本シグナルは無視するように設定します。

たしかこんな感じのものです。
signal(SIGPIPE, SIG_IGN);
signal(SIGTERM, SIG_IGN);

プロセスが終了するとクローズされるので、シャットダウンだったら正常に終了しますよ
HDDに保存されている方のファイルもそうそう壊れないでしょうし、
メモリからHDDに保存されなかった分が保証されないということではないかと思います。


閉鎖

“C言語何でも質問掲示板” へ戻る