システムの正常終了

Linuxシステムは、rebootシステムコールによりシステムを停止させることができる(sys_reboot関数)。システム停止時もしくはリブート処理時には、各種デバイスドライバの終了処理ルーチンが呼び出される(notifier_call_chain関数)。終了処理の必要なデバイスは、デバイスドライバの初期化時に register_reboot_notifier関数を利用してドライバ終了処理ルーチンを登録しておく。

    sys_reboot()
        switch (コマンド)
        case システム停止:
                 ドライバ終了処理(notifier_call_chain関数)
                 システム停止(machine_halt関数)
        case システム電源断:
                 ドライバ終了処理(notifier_call_chain関数)
                 システム停止(machine_power_off関数)
        case システム再起動:
                 ドライバ終了処理(notifier_call_chain関数)
                 システム再起動(machine_restart関数)

システム再起動要求では、再起動時に実行するコマンドを指定することも可能。

また、CTL+ALT+DELのキー押鍵によってもreboot(再起動)と同様の動作を行う仕組み(ctrl_alt_del関数)も提供している。


(NIS)HirokazuTakahashi
2000年12月09日 (土) 23時55分06秒 JST
1