Estou usando o netcat e não o gnu-netcat; Não tenho certeza de qual versão você está usando, mas se for o gnu-netcat, as opções podem ser diferentes.
Eu tenho uma opção -q
:
-q seconds
after EOF is detected, wait the specified number of seconds then quit
Então, se eu fizer:
$ nc -l localhost -p 7000 -q 0 < /etc/passwd
Seguido por:
$ nc localhost 7000
Depois, obtenho o conteúdo de /etc/passwd
no segundo terminal e ambas as instâncias de nc
terminam.