GNU/Linux >> Linux Esercitazione >  >> Linux

Netcat non termina quando Stdin chiude?

Sto cercando di inviare un messaggio tramite netcat . Dopo aver inviato il messaggio, netcat deve terminare.

Ho provato quanto segue:

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

Il -q l'opzione afferma:

-q secondi

dopo EOF su stdin, attendere il numero di secondi specificato e quindi uscire. Se i secondi sono negativi, aspetta per sempre.

Ma

nc -q0 -u localhost 4300 < message.bin

inoltre non funziona.

Cosa mi sto perdendo?

Risposta accettata:

Supponendo che dopo l'invio la connessione EOF rimanga inattiva, puoi utilizzare -w timeout opzione, che funziona per timeout essendo uguale a zero (a differenza di stupido -q opzione...)

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

Linux
  1. /usr/bin Vs /usr/local/bin Su Linux?

  2. Quando viene visualizzato il messaggio di errore "lavori:non trovati"?

  3. Come terminare in remoto chiamato "tail -f" quando la connessione è chiusa?

  4. Quando devo usare #!/bin/bash e quando #!/bin/sh?

  5. SSH chiude la connessione quando la chiave viene accettata

Messaggio SOAP non riuscito durante la creazione del dominio

Come eseguire uno script al termine della sessione xfce

Come evitare il messaggio di avviso "sono lo stesso file" quando si utilizza cp in Linux?

Bash:perché lo script genitore non termina su SIGINT quando lo script figlio intercetta SIGINT?

Quando mai /bin/sync è utile nel Linux moderno?

attraversamento non riuscito:u:messaggio non valido durante l'eliminazione di una directory estremamente grande in Linux