为什么我的服务器无法正常关闭?

为什么我的服务器无法正常关闭?

当我$ reboot在嵌入式 FreeNAS 0.7 (FreeBSD 7.2) 上运行时,它确实启动了关闭过程,但似乎挂起。

我已经注册了一个命令来启动在 PostInit 上执行的服务脚本:

/myscripts/startService1.sh

到目前为止它的工作完美无缺。

现在我注册了第二个服务

 /myscripts/startService2.sh

并且必须意识到 PostInit 脚本似乎被第一个服务阻止(因为它无限运行)并且似乎不允许 PostInit 恢复到下一个任务。因此服务 2 永远不会启动。

为了让脚本继续执行,我将 附加&到要执行的命令中。

/myscripts/startService1.sh &

/myscripts/startService2.sh &

这按预期工作,两个服务都按预期启动并运行。 当我$ reboot系统不会像以前那样在几秒钟内关闭(它最终似乎在几个小时后完成重新启动[我让它静置一夜])。

当重新启动初始化 ssh 会话(我被删除)并且所有服务在几秒钟内消失 - 但我仍然可以 ping 机器。重新连接ssh不起作用(连接被拒绝)。

之前干净地退出(甚至杀死)服务$ reboot没有任何效果。只要我&在调用时附加了 ,整个问题也可以仅用一项服务来重现。显然,一个简单的自我结束过程ps -Auw > /myLogs/postInit.log &也会导致这个问题。

我很困惑,真的需要提示。

更新: 我不知道该怎么说,但是……它已经解决了。我不知道怎么办。我所做的只是花了一些时间(写这个问题),然后尝试使用$ shutdown -r now哪个有效。然后尝试了$ reboot现在也有效。从那时起,一切都按预期运行,但我不知道我做了什么来修复它!写完这篇文章之后,我之前没有做过任何事情——除了运行shutdown -r一次,然后一切都完成了神奇地工作了。我曾尝试强制重现该问题,但在我可以通过添加或删除那个小&.我仍然必须显式地将脚本作为后台进程运行,否则 PostInit 脚本将被阻止。

相关内容