GNU/Linux >> Znalost Linux >  >> Linux

Netcat se neukončí, když se Stdin zavře?

Snažím se odeslat zprávu přes netcat . Po odeslání zprávy netcat musí ukončit.

Zkoušel jsem následující:

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

-q stav možnosti:

-q sekund

po EOF na stdin počkejte zadaný počet sekund a poté skončit. Pokud jsou sekundy záporné, počkejte navždy.

Ale

nc -q0 -u localhost 4300 < message.bin

také nefunguje.

Co mi chybí?

Přijatá odpověď:

Za předpokladu, že po odeslání EOF připojení zůstane nečinné, můžete použít -w timeout možnost, která funguje pro timeout je roven nule (na rozdíl od hloupého -q možnost…)

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

Linux
  1. Kdy se zobrazí chybová zpráva „pracovní místa:nenalezena“?

  2. SSH uzavře spojení, když je klíč přijat

  3. Rozdíl mezi /bin a /usr/bin

  1. Zobrazuje se zpráva „nenalezeno“ při spuštění 32bitové binární verze na 64bitovém systému?

  2. Jak vypnout, když není systemd/init (např. pomocí init=/bin/bash)?

  3. traversal failed:u:Špatná zpráva při mazání extrémně velkého adresáře v Linuxu

  1. /usr/bin Vs /usr/local/bin Na Linuxu?

  2. Linux – Jak získat možnosti jednotky Cd/dvd, když zařízení Wodim nefungují?

  3. Jak ukončit vzdáleně volané „tail -f“, když je spojení uzavřeno?