GNU/Linux >> Tutoriales Linux >  >> Linux

¿Netcat no finaliza cuando se cierra Stdin?

Estoy tratando de enviar un mensaje a través de netcat . Después de enviar el mensaje, netcat debe terminar.

He intentado lo siguiente:

cat tsmmessage.bin | nc -u localhost 4300
nc -u localhost 4300 < message.bin

El -q estados de opción:

-q segundos

después de EOF en stdin, espere el número especificado de segundos y luego salga. Si los segundos son negativos, espera para siempre.

Pero

nc -q0 -u localhost 4300 < message.bin

tampoco funciona.

¿Qué me estoy perdiendo?

Respuesta aceptada:

Suponiendo que después de enviar la conexión EOF permanecerá inactiva, puede usar -w timeout opción, que funciona para timeout siendo igual a cero (a diferencia del estúpido -q opción…)

cat tsmmessage.bin | nc -u localhost 4300 -w0

Linux
  1. Linux:¿obtener capacidades de la unidad de CD/DVD cuando los dispositivos Wodim no funcionan?

  2. ¿Cuándo aparece el mensaje de error "trabajos:no encontrado"?

  3. ¿Cuándo debo usar #!/bin/bash y cuándo #!/bin/sh?

  4. Examen de varios puertos al ejecutar NetCat (nc)

  5. Diferencia entre /bin y /usr/bin

Mensaje de error de SOAP al crear un dominio

Cómo ejecutar un script cuando finaliza la sesión de xfce

¿Cómo evitar el mensaje de advertencia 'son el mismo archivo' cuando se usa cp en Linux?

Bash:¿Por qué la secuencia de comandos principal no termina en SIGINT cuando la secuencia de comandos secundaria atrapa a SIGINT?

SSH cierra la conexión cuando se acepta la clave

el recorrido falló:u:mensaje erróneo al eliminar un directorio extremadamente grande en Linux