我有几个服务器和其他守护进程需要以正确的顺序启动。如何在Ubuntu下对init.d脚本进行排序
我从骨架脚本创建的init.d脚本,并可以将它们安装使用编号命名系统以正确的顺序启动,但一些问题依然存在:
一台服务器(“serverA的”)需要初始化数据库连接,然后在套接字上侦听。 然后,另一个服务器('serverB')需要连接到该套接字,并且如果先前的过程尚未侦听,则连接将失败。有没有办法阻止serverA的init.d脚本终止直到serverA开始监听?在serverA init终止之前,serverB init不会启动。
现在,安装程序的工作原理是让serverB重新尝试连接,直到成功为止,但该方法似乎很脆弱。我希望更强烈地了解如何强制排序。
我相信套接字'文件'总是存在,所以它的存在不是一个好的指标。延迟守护进程方法很有前途。我现在使用shell'&'方法(快速简单),但是在内部进行守护进程非常实用。 – Rdbhost 2009-12-05 19:20:15
您可以在启动服务器之前删除套接字,因此它将不得不重新创建它。 (我也忘了,循环可能也需要短暂的睡眠。) – 2009-12-05 19:56:20
您可能需要在该轮询循环中进行睡眠。 – mc0e 2015-02-17 13:09:08