hello, I have something like this: function_that_use_ffmpeg | while read line; do ... done It appears that ffmpeg access the tty directly, for example when asking for interactive input in this case, the process got suspended with the message suspended (tty output) if I pipe it to cat, it is not suspended If it convert the second part of the pipe to a subshell: function_that_use_ffmpeg | (while read line; do ... done) it is not suspended. If I disable job control with setopt nomonitor, it is not suspended. I wonder why the subshell changes the behaviour, and if I can solve this problem without using this hack and without disabling job control thanks Pier Paolo Grassi