java获取进程端口_查看进程的端口号

貌似没有一种可以在所有的Unix系统中通用的方法,下属的某些方法仅仅适用于某个平台,或者需要加装某些程序才能使用。

目录

netstat

lsof

pfiles (solaris)

一、 netstat

1.1 windows 下

1.查找指定目标进程(java的atf web工程)

tasklist  -v |find "java"

图像名        PID

javaw.exe     2760

2.在全部端口中查找进程号为 pid=3582(atf项目的进程号) 的信息

netstat -nao |find "2760"

TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       1232

TCP    0.0.0.0:8443           0.0.0.0:0              LISTENING       1232

TCP    192.168.88.46:4168     192.168.6.19:1531      ESTABLISHED     1232

TCP    192.168.88.46:4169     192.168.6.19:1531      ESTABLISHED     1232

1.2 Unix 系统下

1.使用netstat查看进程PID

[root@test ~]# netstat -anp|grep 5001

tcp        0      0 :::5001                     :::*                        LISTEN      12886/java

2.使用ps查看进程情况

[root@test 12886]# ps -ef|grep 12886

root     12886 12851 0 Dec09 ?        00:01:14

/home/bjca/bea/jdk160_05/bin/java -client -Xms256m -Xmx512m

-XX:CompileThreshold=8000 -XX:PermSize=48m -XX:MaxPermS

二、 lsof

[root@redhat95242 ~]# lsof -i :14191

COMMAND   PID USER   FD   TYPE DEVICE SIZE NODE NAME

vcsauthse 31863 root   18u  IPv6 634454       TCP *:14191 (LISTEN)

三、 pfiles (solaris)

编写个小脚本 test.sh

//********************************************//

cd /proc

for i in *

do

echo ------ process $i ---------

pfiles $i | grep -i "port: 41859"

done

//********************************************//

执行脚本

-bash-3.00$ ./test.sh

然后看结果:

------ process 0 ---------

pfiles: permission denied: 0

------ process 1 ---------

pfiles: permission denied: 1

------ process 5290---------

sockname: AF_INET 10.64.89.9  port: 41859

------ process 606 ---------

pfiles: permission denied: 606

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Linux中,可以使用一些命令和工具来批量查询java进程端口号。 1. 使用命令ps查找所有java进程的PID(进程ID):ps -ef | grep java 该命令会列出系统中所有正在运行的java进程及其相关信息。如果只需要显示java进程的PID,可以使用awk命令提取:ps -ef | grep java | awk '{print $2}' 2. 使用命令netstat结合PID查找对应的端口号:netstat -anp | grep PID 将PID替换为上一步获取到的进程PID。该命令会显示该进程所占用的端口号及其相关信息。 3. 批量查询所有java进程端口号: ```shell #!/bin/bash for pid in $(ps -ef | grep java | awk '{print $2}'); do echo "Java进程PID:$pid" echo "端口号:" netstat -anp | grep $pid | grep LISTEN | awk '{print $4}' done ``` 将上述代码保存为脚本文件(如find_java_ports.sh),然后在终端运行该脚本即可批量查询所有java进程端口号。 这些方法可以帮助您快速批量查询并获取系统中所有java进程端口号。 ### 回答2: 在Linux系统中,你可以使用以下命令批量查询Java进程端口号: 1. 首先,使用`ps`命令查找所有正在运行的Java进程。可以使用以下命令: ``` ps -ef | grep java ``` 这将显示所有包含"java"关键字的运行中进程。其中,"-ef"选项用于显示所有进程的详细信息。 2. 从上一步的输出中,我们可以提取出Java进程的PID(进程ID)。PID 是进程的唯一标识符,我们可以使用它来查询相关的信息。你可以先将结果保存到一个文件中,然后使用`awk`命令提取PID,如下所示: ``` ps -ef | grep java > java_processes.txt awk '{print $2}' java_processes.txt ``` 这将显示所有Java进程的PID。 3. 接下来,我们可以使用`netstat`命令来查询每个Java进程端口号。你可以使用以下命令: ``` netstat -tunlp | grep java ``` 其中,"-tunlp"选项用于显示所有TCP和UDP的端口信息。 有了以上的步骤,你就可以批量查询Java进程端口号了。请注意,你需要有适当的权限来执行这些命令。如需进一步理解命令和参数,请参考Linux相关文档或使用命令的帮助选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值