我正在尝试获取已定义范围内的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)
请帮助,我的正则表达技巧是业余的。
答案 0 :(得分: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得到答案。
此致
答案 1 :(得分:0)
这对你有用吗? (港口范围55000-60000)
lsof|awk '$2>55000 && $2<60000 && /php/ && /LISTEN/'