Difference between reboot -n and echo b > /proc/sysrq-trigger?

Solution 1:

The /sbin/reboot is a regular executable in the filesystem. If your filesystem is hosed (e.g. filesystem driver hang, SATA hardware hang or disk firmware hang), the changes for successfully executing that executable are slim to none. On the other hand, assuming that you have a root shell open already, echo b > /proc/sysrq-trigger does not need any filesystem access.