在Linux系统中,当reboot
指令不可用时,可以通过内核模块或直接操作GPIO来模拟强制重启按键。
1、echo 1
启用sysrq功能
echo 1 | sudo tee /proc/sys/kernel/sysrq
2、echo b
触发重启
echo b | sudo tee /proc/sysrq-trigger
可在应用程序中通过system()函数执行上方两个shell指令,实现软强制复位重启。
system("echo 1 | sudo tee /proc/sys/kernel/sysrq");
system("echo b | sudo tee /proc/sysrq-trigger");