我在here上看到,使用下面的命令,我们可以在Linux系统上模拟硬重启:
echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger但我想在上面的命令执行之前添加一些软重启功能,如SIGTERM,SIGKILL等,它们是在软重启时发出的。有没有人能建议我如何使用bash或C/C++来做这件事?另外,在Linux系统上进行软重新启动时,需要遵循哪些步骤?
发布于 2014-07-03 15:59:27
在大多数情况下,不需要模拟或使用bash键序列来触发软重新启动,只需在SysRq中使用reboot命令即可。在C程序中,我会使用system("reboot");。当然,您需要成为root用户才能重新启动机器。
编辑:如果您想在必要的软重新启动清理后调用这些命令,您的最佳选择可能是在/etc/rc6.d中将自己称为相应的重新启动脚本。
这将是依赖于发行版的,在debian或ubuntu上它看起来像这样:/etc/rc6.d/S20sendsigs /etc/rc6.d/S40umountfs /etc/rc6.d/S60umountroot
您可以选择您认为需要的脚本(联网、杀死守护进程...)。
https://stackoverflow.com/questions/24546777
复制相似问题