Las otras respuestas -c
y las -q
dadas son correctas en el contexto correcto, pero puede ser útil resumir por qué hay múltiples respuestas y dar una solución más general.
Estas diferentes opciones hacen lo mismo pero son diferentes implementaciones de netcat:
-c
Implementación GNU de netcat
-q
Implementación de OpenBSD de netcat.
-w
(¿otro?) Implementación OpenBSD de netcat.
Algunas versiones requieren un int para especificar el número de segundos a esperar antes de salir para las opciones -q
y -w
. Este int debe ser > 0
o >= 0
, dependiendo de la versión.
Si está implementando algo en varias máquinas y no está seguro de que usen la misma implementación de netcat, puede considerar ajustar su llamada de netcat con el timeout
programa para matar a netcat después de unos segundos.
timeout 5 echo '{"hostUp": true}' | netcat localhost 8001
Este enfoque es un poco torpe porque pone un límite superior en la ejecución de netcat independientemente de si está enviando datos con éxito o no, pero si está enviando una pequeña cantidad de datos y tiene unos segundos de sobra, esto debería funcionar con cualquier implementación de netcat.