0

定義された範囲内でphpサービスによって占有されているポートのリストを取得しようとしています。

これは問題なく動作するようです。

lsof | grep -E 'php.+55000.+LISTEN'
php       6446  user   11u     IPv4             694089      0t0        TCP *:55000 (LISTEN)

しかし、範囲クエリにすると、正しい結果が得られないようです。

lsof | grep -E 'php.+[55000-55001].+LISTEN'
php       6446  user   11u     IPv4             694089      0t0        TCP *:55000 (LISTEN)
php       6446  user   12u     IPv4             694090      0t0        TCP *:51000 (LISTEN)

助けてください、私の正規表現スキルはアマチュアです。

4

2 に答える 2

2

あなたが探しているのは lsof -iオプションです。マニュアルページには次のように書かれています:

To list all files using any protocol on ports 513, 514, or 515 of host wonderland.cc.purdue.edu, use:

       lsof -i @wonderland.cc.purdue.edu:513-515

したがって、あなたの場合、次から始めることができます:

lsof -i :55000-55001

そして、答えを得るために必要なすべてのgrepを使用するよりも。

よろしく

于 2012-11-27T13:40:40.717 に答える
0

これはあなたのために働きますか?(ポート範囲 55000 ~ 60000)

lsof|awk '$2>55000 && $2<60000 && /php/ && /LISTEN/'
于 2012-11-27T13:40:06.853 に答える