我有一些服务器和其他守护程序需要以正确的顺序启动。
我已经从骨架脚本创建了 init.d 脚本,并且可以安装它们以使用编号命名系统以正确的顺序启动,但仍然存在一些问题:
一个服务器('serverA')需要初始化一个数据库连接,然后监听一个套接字。然后另一个服务器('serverB')需要连接到该套接字,如果前面的进程尚未侦听,则连接将失败。有没有办法阻止 serverA 的 init.d 脚本终止,直到 serverA 开始侦听?在 serverA init 终止之前,serverB init 不会启动。
现在,设置的工作原理是让 serverB 重试连接直到它成功,但这种方法似乎很脆弱。我想对如何强制排序有更确定的理解。