GNU/Linux >> Linux の 問題 >  >> Linux

Stdinが閉じてもNetcatは終了しませんか?

netcatを介してメッセージを送信しようとしています 。メッセージを送信した後、netcat 終了する必要があります。

私は次のことを試しました:

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

-q オプションの状態:

-q秒

stdinでのEOFの後、指定された秒数待機してから終了します。秒が負の場合は、永遠に待ちます。

しかし

nc -q0 -u localhost 4300 < message.bin

また、機能しません。

何が足りないのですか?

承認された回答:

EOF接続を送信した後もアイドル状態が続くと仮定すると、-w timeoutを使用できます。 オプション。timeoutで機能します ゼロに等しい(愚かな-qとは異なります) オプション…)

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

Linux
  1. Linux – Wodim –デバイスが機能しないときにCd / dvdドライブの機能を取得しますか?

  2. 「jobs:NotFound」というエラーメッセージが表示されるのはいつですか。

  3. 接続が閉じられたときにリモートで呼び出される「tail-f」を終了する方法は?

  1. ドメイン作成時にSOAPが失敗したメッセージ

  2. xfce セッション終了時にスクリプトを実行する方法

  3. Linuxでcpを使用するときに「同じファイルです」という警告メッセージを回避するにはどうすればよいですか?

  1. Bash:子スクリプトが SIGINT をトラップするときに親スクリプトが SIGINT で終了しないのはなぜですか?

  2. #!/bin/bash と #!/bin/sh はいつ使用する必要がありますか?

  3. NetCat (nc) の実行中に複数のポートを調べる