人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

netstatコマンドで、ホスト名、ポート番号などをフィルタリング( netstat -a | grep hostname | grep portnumber)しながら、連続実行(Interval)する方法、出来ればシェルスクリプトではなくて、コマンドライン一発で実行する方法を教えて下さい。
UNIX系はそれほど仕様に大きな違いはないと思いますが、一応、環境としてはHP-UXです。

●質問者: atmcjj
●カテゴリ:コンピュータ
✍キーワード:grep HP-UX netstat UNIX コマンド
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● pahoo
●30ポイント

watchコマンドを使えばできます。

たとえば5秒間隔で実行するなら、コマンドラインで下記のように指示してください。

watch --interval 5 "netstat -a | grep hostname | grep portnumber";
◎質問者からの返答

早速の回答、ありがとうございます。

どうも当該環境には、"watch"がないようなので、他の解決方法をご提案いただけると幸いです。


2 ● kn1967
●10ポイント

もしもですが、

パッシブな状態のものは切り捨て可能(-aオプションは使わなくても良い)なら

netstat のインターバルオプションを使うという手もあると思いますが、いかが?


HP-UX リファレンス netstat(1)

◎質問者からの返答

まず、Listenしているポートで検索するので、"-a"は必要です。

また、HP-UX 11iでは、普通に、"netstat 5 | grep portnumber"としても、パイプを抜けて行かないようです。

また、Solarisでは、-i(統計オプション)なら行けそうですが、"-a"オプションではダメなようです。

さらに、Linuxなら、ご提案のとおり出来そうです。

これほど、OSに拠って振る舞いが異なるとは思いませんでした。


3 ● pahoo
●40ポイント ベストアンサー

watchコマンドは無いのですか‥‥sleepコマンドがあれば、下記のようにしてもできます。同じく5秒間隔です。

while true; do netstat -a | grep hostname | grep portnumber; sleep 5; done;

※設定された回答回数の上限になりました。さらにフォローが必要でしたら、コメント欄を開けていただくか、回答回数を増やしてください。

◎質問者からの返答

助かりました。

これで目的が達せられます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ