Could not find an example for this one and hought I'd share what I came up with. Correct me if I've missed something. Problem: efficiently wait for a long running non-child process (example -- started a large copy and wanted a noise when it was done.) inotifywait doesn't do well with /proc/<pid> but I still used it to be just a little more efficient and timely than a shell loop: =============================================== #! /bin/sh # waitfor a process PID=$1 shift [ -e /proc/$PID ] || { echo No process, $PID; exit 127; } while inotifywait -qq -e CLOSE /proc/$PID/exe && [ -e /proc/$PID ] do : done $* =============================================== I use it like this: waitfor 14471 play /media/WeirdAlYankovic/DareToBeStupid/09_This_Is_The_Life.flac -- Gerry Skerbitz gsker at skerbitz.org