reboot -n和echo b> / proc / sysrq-trigger之间的区别?

在Linux上(特别是RHEL衍生产品CentOS和Fedora),有没有区别?

echo b > /proc/sysrq-trigger 

根据维基百科的说法,“立即重启系统,不用卸载或同步文件系统”。

 reboot -n 

“不要在重新启动或暂停之前同步,请注意,内核和存储驱动程序可能仍然同步,”根据man 8重新启动。 这种行为有没有什么区别?

/sbin/reboot是文件系统中的常规可执行文件。 如果你的文件系统被冲洗(例如,文件系统驱动程序挂起,SATA硬件挂起或磁盘固件挂起),那么成功执行该可执行文件的更改将变成无效。 另一方面,假设您已经打开了一个root shell, echo b > /proc/sysrq-trigger不需要任何文件系统访问。