从内核空间启动系统重启

时间:2014-07-31 20:04:52

标签: linux-kernel driver reboot

我有一个运行linux的自定义嵌入式主板,在驱动程序中监控它的24V电源。如果电源电压下降,电池电量会接管并且IRQ会关闭。我希望在电池运行30秒后重新启动,从而优雅地为电路板供电。

目前

emergency_sync();
kernel_restart(NULL);

是否正常工作,但只是在调用kernel_restart后大约半分钟后突然关闭系统。没有重新启动的通知,系统似乎正常运行,直到它发生。我可以发起一个" init 6"或者以一种公告方式重新启动,该公告以一种不错的方式从内核空间有序地关闭所有内容(比如在命令行上运行重启)?

1 个答案:

答案 0 :(得分:1)

我认为函数ctrl_alt_del()可以满足您的需求。它向init发送信号以启动正常的重启序列。