从内核空间启动系统重启



我有一个运行linux的自定义嵌入式板,在驱动程序监控它的24V电源时中断。如果电源下降,电池供电接管,IRQ启动。我想在使用电池运行30秒后启动重新启动,该电池为主板正常供电。

目前

emergency_sync();
kernel_restart(NULL);

确实有效,但它只是在调用kernel_restart后大约半分钟后突然使系统关闭。没有重新启动的通知,系统似乎正常运行,直到它发生。

我可以启动一个"init 6"或重启与公告关闭一切有序(如在命令行上运行reboot)从内核空间在一些不错的方式?

我认为函数ctrl_alt_del()做你想要的。它向init发送一个信号,启动正常的重启程序。

最新更新