вы можете сделать setpgrp 0,0 после fork(). тогда при
попытке чтения child получит SIGTTIN. процесс будет
остановлен, умрет после завершения parent. если child
выставит SIG_IGN для SIGTTIN, попытка чтения вернет EIO.
см также нитку "что лучше два пайпа или псевдотерминал???".
Если "по умолчанию" - это настройки терминала при создании, то - да.
А в том же MC subshell всегда закрыт, из-за чего могут быть нездоровые эффекты. ;)