如何在启动服务之前等待日志中的消息?

如何在启动服务之前等待日志中的消息?

我有两个 Java 服务,其中第二个服务依赖于第一个服务在启动之前完全启动。

为了检查第一个服务是否完全启动,我需要在日志中 grep 查找特定消息(并且还忽略以前的启动消息)。

我可以在 systemd 文件中的某个位置添加此搜索吗?

答案1

您可以在单元文件中添加“预启动”操作来执行 grep / sleep。它不漂亮,但类似的东西!

ExecStartPre=/bin/bash -c "i=1; while [ $i -ne 0 ]; do grep pattern file; i=$?; sleep 5; done"

相关内容