我有以下。
- 将日志写入标准输出的 Java 进程
- 启动 Java 进程的 shell 脚本
- 另一个执行前一个并重定向日志的 shell 脚本
- 我使用命令检查日志文件以
tail -f
获取成功消息。
即使我在代码中有 exit 0 我也无法结束该tail -f
过程。
这不会让我的脚本完成。在 Bash 中还有其他方法可以做到这一点吗?
代码如下所示。
function startServer() {
touch logfile
startJavaprocess > logfile &
tail -f logfile | while read line
do
if echo $line | grep -q 'Started'; then
echo 'Server Started'
exit 0
fi
done
}