hddtempの出力を受け取ったらすぐにnetcatを終了させる

OS: Ubuntu Server 18.04.1 LTS
hddtemp 0.3-beta15-53
netcat-openbsd 1.187-1ubuntu0.1

hddtempをインストールした後にnetcatでHDD温度の取得を試みると、Enterキーを押すまではプロンプトが返らない。シェルスクリプトから定期的に実行する算段であったがこれでは都合が悪い。TCP/IP アーミーナイフにも困ったものである。

$ netcat 127.0.0.1 7634
|/dev/sda|HGST HTS721010A9E630|38|C|

netcatのマニュアルをつぶさに眺めると、標準入力からの読み込みを試みない-dオプションが用意されている。此れが有用ではないかと睨んで再度実行してみるとプロンプトがすぐに戻ってきたので良かった。

-d Do not attempt to read from stdin.

$ man netcat
$ netcat -d 127.0.0.1 7634
|/dev/sda|HGST HTS721010A9E630|38|C|$
図1. データ受信後に切断される様子

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください