kill -s SIGUSR2 $PID
# Detect EOF and print all except that last line:
-sleep $timeout &
-timerPid=$!
-rm -f .operation_eof
-tail -n0 -F --pid=$timerPid sigusr2.out | while read line
-do
- if echo $line | grep "^EOF" >/dev/null; then
- touch .operation_eof
- # stop the timer
- kill -13 $timerPid
+count=$((10*timeout))
+expired=yes
+while [ $count -gt 0 ]
+do
+ sleep 0.1
+ count=$((count-1))
+ if tail -1 sigusr2.out | grep "^EOF" >/dev/null; then
+ expired=
+ break;
fi
-done
+done
-if [ -f .operation_eof ]
+if [ -z "$expired" ]
then
head --lines=-1 sigusr2.out
else