首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在linux中只获取进程的侦听端口

如何在linux中只获取进程的侦听端口
EN

Stack Overflow用户
提问于 2015-03-14 05:32:12
回答 2查看 1.1K关注 0票数 1

我尝试了不同的命令netstatlsof,但我的要求是,我想传递侦听端口,比如进程x正在运行在netstat

我需要一个linux命令,它只读取端口32456,并希望像java -jar runs.jar端口那样在java中传递它。

因此,我需要一些命令才能只获得运行端口或侦听端口。如果我尝试这样的netstat命令,我将得到大约20行端口。

EN

回答 2

Stack Overflow用户

发布于 2015-03-14 05:39:37

代码语言:javascript
复制
netstat | awk '{print $4}' | sed -nr 's/.*:([0-9]+)/\1/p' | xargs java -jar runs.jar

我对这个问题有点不清楚。上面的代码会将所有端口号插入java文件的参数中。

如果您确信它将出现在chl21000303.sesson.net上,那么您可以这样做

代码语言:javascript
复制
netstat | awk '{print $4}' | sed -nr 's/chl21000303.sesson.net:([0-9]+)/\1/p' | xargs java -jar runs.jar

编辑-

为了完成,我简要地概述了每件事都在做什么。

netstat获取所有连接并将其连接到awk。awk获取第四列并将其连接到sed。sed使用正则表达式获取端口号,并将其作为参数传递到java程序。

票数 0
EN

Stack Overflow用户

发布于 2015-03-14 06:00:43

您可以在shell脚本中这样做。

代码语言:javascript
复制
var=`"netstat -atn | grep LISTEN | awk {print $4}"`
for x in $var
do
    port=`echo $x | awk -F':' '{print $2}'`;
    echo $port;
done

在$port中有您的端口号,可以将它传递给您的java脚本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29045812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档