Есть ли разница в Linux (в частности, на производных от RHEL CentOS и Fedora)?
echo b > /proc/sysrq-trigger
«Немедленно перезагрузите систему, не отключая и не синхронизируя файловые системы», - говорится в Википедии.
reboot -n
«Не выполняйте синхронизацию перед перезагрузкой или остановкой. Обратите внимание, что драйверы ядра и хранилища все еще могут синхронизироваться», - говорится в сообщении man 8 reboot. Есть ли какая-нибудь разница в этом поведении?
В /sbin/reboot
является обычным исполняемым файлом в файловой системе. Если ваша файловая система закрыта (например, зависание драйвера файловой системы, зависание оборудования SATA или зависание прошивки диска), изменений для успешного выполнения этого исполняемого файла практически нет. С другой стороны, если у вас уже открыта корневая оболочка, echo b > /proc/sysrq-trigger
не требует доступа к файловой системе.