我读到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/