我阅读here使用以下命令我们可以在linux系统上模拟硬重启。
echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger
但我想在执行上述命令之前添加一些软重启功能,例如在软重启时发出的SIGTERM,SIGKILL等。任何人都可以建议我如何使用bash或c / c ++来做到这一点。还有什么是在Linux系统上进行软重启时遵循的步骤?
提前致谢。
答案 0 :(得分:1)
在大多数情况下,不需要模拟或使用SysRq键序列来触发软重启,而只需在bash中使用reboot
命令。在C程序中,我会使用system("reboot");
。当然,你需要root才能重启机器。
编辑:如果要在必须清除软重启后调用这些命令,最好的选择可能就是在/etc/rc6.d
中自称相应的重启脚本。
这将依赖于分发,在debian或ubuntu上它看起来像这样:
/etc/rc6.d/S20sendsigs
/etc/rc6.d/S40umountfs
/etc/rc6.d/S60umountroot
您可以选择您认为需要的脚本(联网,杀死守护程序......)。