プロが教える店舗&オフィスのセキュリティ対策術

以下のプログラムを実行してもLinuxマシンの電源が落ちません。
何故でしょうか。わかる方ご教授願います。

----------------- start -------------------
#include <unistd.h> //@hanada_add@
#include <sys/reboot.h>//@hanada_add@

-- 省略 --
reboot( RB_POWER_OFF );
----------------- end -------------------


以下が結果です。
----------------- start -------------------
[root@nmpb_linux02 BIN]#
Message from syslogd@nmpb_linux02 at Sun Aug 18 03:02:44 2002 ...
nmpb_linux02 kernel: Power down.
----------------- end -------------------

Power downと表示はされていますが、Enterキーを押すと
すぐに復活してしまいます。
というか、マシンが電源OFFされるのを期待しているのですが。。
ちなみにreboot( RB_AUTOBOOT )は成功します。(マシンが再起動します)

A 回答 (1件)

rebootのmanを見ながら試してみましたが、リブート・電源OFFともに実行できました。


だけど、いきなり落ちるのでちょっと心配です。
(Red Hat 8です。)

#include <stdio.h>
#include <unistd.h>
#include <linux/reboot.h>

void main(void)
{
sync();
// reboot(LINUX_REBOOT_CMD_RESTART2);
// reboot(LINUX_REBOOT_CMD_RESTART);
// reboot(LINUX_REBOOT_CMD_HALT);
reboot(LINUX_REBOOT_CMD_POWER_OFF);
}

参考URL:http://www.linux.or.jp/JM/html/LDP_man-pages/man …

この回答への補足

回答して頂いたソースコードを真似て試したのですが、相変わらず結果が変わりません。ソースプログラムに影響されている結果ではないのでしょうか?(カーネルの設定とか???)
あと、Linux7.2では上記ソースコードではフラグがたちます。rebootがありませんと怒られます。#include <sys/reboot.h> を加えるとmake通ります。manを見ると、<linux/reboot.h> をインクルードするときはrebootのパラメータは4つ指定しないと駄目なように見えるのですが???バージョンが違うせい???

補足日時:2002/11/28 12:05
    • good
    • 0

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