電子書籍の厳選無料作品が豊富!

QNo.3555570の質問と関連しているのですが。。
「system("shutdown -r now");」で、システムを再起動する
プログラムを作成しております。
しかし、別のプロセスにて無効なメモリアドレスへのアクセスを
した後に上記を実行すると再起動されません。
shutdownコマンドによるログは出力されております。
不足な情報がございましたらご指摘ください。

環境&コンパイラ
 RedHat 7.3 2.96-110
 Kernel 2.4.18-3 on an i686
 gcc 2.96
 GNU Make 3.79.1

A 回答 (2件)

そぼくな疑問ですが、別プロセスによる無限ループや暴走の監視は、OSがまともに動いているという前提が必ず必要でWDTとしては不十分としか言えません。

ハード的なWDTは実装できないんでしょうか?
    • good
    • 0

こちらの質問は最終的に何がしたいのか良く判りません。


なぜ、シャットダウンしないのか気になるなら、
Red Hat社に直接問い合わせた方が早いでしょう。

>ログは出力されております
ちなみに出力された内容は、どうだったのでしょうか?

この回答への補足

以前、永久ループ等の暴走を別プロセスにて検出(WDT)&対処(再起動)する
プログラムを作成しました。
無効アドレスへのアクセス等の例外処理にも、上記のプログラムで
対応できるのではと思ったのですが、再起動が出来ませんでした。

≪再起動時のログ≫
Broadcast message from root Wed Nov 29 15:37:57 2007...
The system is going down for reboot Now !!

各コードの合間に細かくログを入れてみたところ
system関数を実行する以前に上記のログが出力されておりました。
これはプログラム上で再起動する前に、
プログラム以外のところで例外処理か何らかの起因による
再起動を実施しようとしているように感じます。
でも実際には再起動できてないです。。

> Red Hat社に直接問い合わせた方が早いでしょう。
その方が良いかもしれませんね。

補足日時:2007/11/29 16:20
    • good
    • 0

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