java - 如何在 linux 中只获取进程的监听端口

标签 java linux

我尝试了不同的命令netstatlsof,但我的要求是, 我想通过监听端口说进程 x 正在 chl21000303.sesson.net:32456.

上运行

我想要一个只读取端口 32456 的 linux 命令,并希望在 java 中传递它,例如 java -jar runs.jar 端口。

所以我需要一些命令来只获取运行端口或监听端口。如果我尝试这样的 netstat 命令,我会说大约 20 行端口。

最佳答案

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

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

如果您确定它会在 chl21000303.sesson.net 上,您可以改为这样做

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

编辑-

为完成起见,我将快速概述所有操作。

netstat 获取所有连接并将其通过管道传输到 awk。 awk 获取第 4 列并将其通过管道传递给 sed。 sed 使用正则表达式获取端口号并将其作为参数通过管道传递给您的 java 程序

关于java - 如何在 linux 中只获取进程的监听端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29045812/

相关文章:

linux - 用于 reaver 解锁 wps 锁定状态的 Bash 脚本

java - 将长文本拆分为多行代码,最好的方法是什么?

java - 使用TextureAtlas 时可以通过Libgdx 获得重复纹理吗?

java - 如何使用mockito对图节点进行单元测试?

c++ - gcc (Linux/MinGW) 是否存在编译器标志以在运行时引发被零除的错误?

c++ - SDL_SetVideoMode问题

java - PermGen和Heap,区别及其意义

java - 如何在不调整神经元数量的情况下修复这种点积方法? ( java )

c - 具有链接到同一功能的多个设备属性的 Linux 驱动程序

ruby - 在 AWS Linux 上安装 Ruby gem Mechanize 时出错