我读到here使用下面的命令我们可以在linux系统上模拟硬重启。

echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger

但我想在执行上述命令之前添加一些软重启功能,如SIGTERM、SIGKILL等,它们是在软重启时发出的。有谁能建议我如何使用bash或c/c++。在linux系统上执行软重启时,还需要执行哪些步骤?
提前谢谢。

最佳答案

在大多数情况下,不需要模拟或使用SysRq密钥序列来触发软重新启动,而只需在bash中使用reboot命令在C程序中,我会使用system("reboot");。当然,要重新启动计算机,您必须是root用户。
编辑:如果您想在necessary清除软重新启动后调用这些命令,最好的选择可能是在/etc/rc6.d中调用相应的重新启动脚本。
这将取决于发行版,在debian或ubuntu上,它将如下所示:
/etc/rc6.d/S20sendsigs/etc/rc6.d/S40umountfs/etc/rc6.d/S60umountroot
你可以选择你认为需要的脚本(网络,杀死守护进程…)。

关于linux - 集成linux软+硬重启,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24546777/

10-16 05:59