我有一个运行不正确的 Mac 文件服务器(昨天也表现得很奇怪)。我为它设置了一个听得见的 ping,然后ssh
编辑它,并以 root 身份发出reboot
命令。它什么也没做!我ssh
再次编辑并发出另一个重新启动命令,但仍然没有。
奇怪的是,将“重新启动”列为列表中的任务之一top
。
然后,以 root 身份,我发出了一个
shutdown -r now
它提醒所有用户系统正在崩溃……但它并没有崩溃。(我无法建立新的 ssh 连接,但我确实让自己打开了一个具有 root 访问权限的连接。)
我从来没有见过这样的事情。什么可以阻止系统重新启动,更重要的是,在不物理访问盒子的情况下(我可以,它只是在另一个位置),我怎样才能把盒子弄下来?
我现在注意到top
说:
Processes: 25 total, 2 running, 4 stuck, 19 sleeping... 88 threads
我也从未见过卡住的进程。(我的一个朋友刚刚告诉我,只有在 Unix 上你才能拥有睡着的僵尸孩子。)
更新:
从这个线程(尤其是帖子#9)中,我认为它ps
会top
显示一个“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]
没有效果。
好吧,在我的特定实例中,这台服务器(Apple XServe)没有与连接的 RAID 单元通信。我终于重新启动了服务器、RAID 单元和服务器,并且认为工作正常。
根据我的研究,任务似乎可以进入卡住或不可中断的状态,甚至 SIGKILL 也不会分阶段执行它们。我相信一个进程正在等待 RAID 卷挂载,而其他进程(特别是“重启”命令)正在等待它。
作为一般包罗万象,以下项目将中断重新启动:
如果您还没有设置它,它不会帮助您。但是对于未来,使用带有 ipmi 的控制台服务器,甚至没有控制台服务器的 ipmi,您可以向机器发出相当于硬重置的电源命令。