什么会阻止重启?

我有一个Mac的文件服务器,不正确的行事(昨天也奇怪的行事)。 我build立了一个可听见的ping,然后ssh进入,并以root身份发出reboot命令。 它什么都没做! 我再次ssh编辑并发出另一个重新启动命令,仍然没有。

这是奇怪的看到“重新启动”被列为上榜的任务之一。

那么,作为根,我发了一个

 shutdown -r now 

它警告所有的用户,系统正在closures…并没有下降。 (我不能build立一个新的SSH连接,但我确实让自己打开一个root访问。)

我从来没有见过这样的事情。 什么可以防止系统重新启动,更重要的是,没有在物理上访问盒子(我可以,它只是在另一个位置),我怎么能把盒子放下?

我现在注意到top说:

 Processes: 25 total, 2 running, 4 stuck, 19 sleeping... 88 threads 

我从来没有见过卡住的进程。 (我的一个朋友只是告诉我,只有在Unix上你可以睡僵尸孩子。)


更新:

从这个线程 (尤其是post#9)我可以看出, pstop会显示“U”表示卡住(“不可中断”)进程。

 bash-3.2# ps ax | grep U 48 ?? Us 0:08.23 /usr/sbin/update 10180 ?? U 0:32.95 /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Support/build_hd_index 17119 s000 U+ 0:00.07 reboot 17052 s001 U+ 0:00.09 reboot 17261 s002 R+ 0:00.00 grep U 

发出kill -9 [pid]没有效果。

作为一个通用的方式,以下项目将会中断重启:

  • 在closures序列中打开应用程序。 它不会影响关机-r但是。
  • 卡住的进程或卡住的进程 – 硬复位通常是最快的(但不是最安全的选项)。 找出一个过程卡住的原因有时会很麻烦。

那么,在我的具体情况下,这台服务器(一个苹果XServe)不是连接到连接的RAID单元。 我终于重新启动服务器,RAID单元和服务器,并认为工作。

从我的研究来看,似乎任务可能陷入停滞不前的状态,甚至SIGKILL也不会停止。 我相信有一个进程正在等待安装RAID卷,其他进程(特别是'reboot'命令)正在等待它。

如果你还没有build立起来,它不会帮助你。 但是对于未来,使用带有ipmi的控制台服务器,或者甚至没有控制台服务器的ipmi,您可以向机器发出相当于硬重置的电源命令。