Parece que seu núcleo é sólido - isso deve ser confiável e deve ser encerrado assim que o arquivo for enviado completamente.
Se out.txt já existir, então, essa configuração pode se comportar de maneira inesperada. Se out.txt for maior que test.txt , a última parte de out.txt permanecerá, pois a socat sobrescreve o byte por byte em vez de garantir que o arquivo esteja vazio. Existem algumas maneiras de corrigir isso, dependendo do que você deseja fazer:
-
OPEN:out.txt,creat,truncexcluirá todos os bytes emout.txtantes de gravar nele. Essa opção imita o que você esperaria decpe é provavelmente o que você quer. -
OPEN:out.txt,creat,exclse recusará a escreverout.txtse já existir. Use esta opção para segurança extra. -
OPEN:out.txt,creat,appendanexará dados aout.txt.
Eu também gosto de executar md5sum nos arquivos de origem e destino sempre que eu ligo algo assim junto, devido a esses tipos de casos de canto.