Ending tail -f started in a shell script
- by rangalo
I have the following.
A Java process writing logs to the stdout
A shell script starting the Java process
Another shell script which executes the previous one and redirects the log
I check the log file with the tail -f command for the success message.
Even if I have exit 0 in the code I cannot end the tail -f process.
Which doesn't let my script to finish. Is there any other way of doing this in Bash?
The code looks like the following.
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
}