转自:http://blog.csdn.net/u010022051/article/details/51011734
如果硬盘可能会出现锁死或坏道的故障,会造成SHELL命令的失效,包括reboot,powoff, shutdown,用正常的命令是没法完成重启的。
现象如下:
# reboot
bash: /sbin/reboot: Input/output error
# shurdown -r now
bash: /sbin/shutdown: Input/output error
很明显,因为硬盘的故障,内核无法从磁盘上读取二进制程序 /sbin/reboot 和 /sbin/shutdown 来执行,所以命令失败。
下次启动时系统自动 fsck 可能会更正磁盘错误,但首先需要使系统重启,拉掉电源这个办法可能会造成硬盘的伤害。
可以让内核直接重启,不需要读取(已经锁死或坏掉的)硬盘,如下:
1.执行:
echo 1 > /proc/sys/kernel/sysrq
"magic SysRq key"提供了一个通过/proc来直接给内核发送命令的方法。要启用该特性,只需在内核编译的时候启用"CONFIG_MAGIC_SYSRQ"这个选项,而一般发行版的标准内核都已经启用了。激活这个选项。
2.需要重启的时候,只需要执行
echo b > /proc/sysrq-trigger
设备马上重启。