(Possibly related to Do some programs not accept process substitution for input files?)
In some Bash unit test scripts I\'m using the following trick to log and<
Insert a sleep 5 or whatnot in place of sync to answer your last question
sleep 5
sync