我正在Windows环境中使用Java EE应用程序。(我使用的是Windows 7)我正在使用Tomcat服务器,不幸的是端口号8080正忙碌(由Oracle使用)。现在我想为Tomcat分配一个不同的端口。因此,在更改conf/server.xml文件之前,我想确保某个端口没有被任何其他进程占用,并且它是空闲的。
pjngdqdw1#
是netstat -ano|findstr port no结果将在最后一列中显示进程ID
netstat -ano|findstr port no
laawzig22#
netstat -ano|find ":port_no"会给予你列表。a:显示所有连接和侦听端口。n:以数字形式显示地址和端口号。o:显示与每个连接关联的所属进程ID。例如:netstat -ano | find ":1900"这给你这样的结果。
netstat -ano|find ":port_no"
netstat -ano | find ":1900"
UDP 107.109.121.196:1900 *:* 1324 UDP 127.0.0.1:1900 *:* 1324 UDP [::1]:1900 *:* 1324 UDP [fe80::8db8:d9cc:12a8:2262%13]:1900 *:* 1324
v7pvogib3#
如果你更喜欢PowerShell,使用这个。你将得到进程的名称。
PS C:\Users\Administrator> Get-Process -Id (Get-NetTCPConnection -LocalPort 9093).OwningProcess Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName ------- ------ ----- ----- ------ -- -- ----------- 6021 1464 2760976 2131548 290.39 25512 2 java
PID位于Id列中,它还提供了进程名称。如果没有进程正在使用此端口,则会显示红色错误消息。如果要终止PID为25512的进程,请使用
Id
taskkill /PID 25512 /F
/F表示强制,有些进程没有/F就不能被杀死
/F
r55awzrz4#
它是(Get-NetTCPConnection -LocalPort“port no.”).OwningProcess
hpxqektj5#
如果这是一个纯粹的本地问题,例如,你想在本地运行tomcat来测试你正在使用的应用程序,通常有效的方法是配置端口0。在这种情况下,当应用程序端口绑定时,操作系统将为它分配一个随机的“临时”端口,希望它注销。你必须检查一下tomcat是否支持这个,但是我希望它的代码是past answers mentioning it。它避免了硬编码端口和TOCTOU的问题,尽管它显然不太方便,因为您需要每次都获得需要连接的端口。另一种选择是尝试一堆自由端口,例如8000[0]和8888是HTTP服务器的常见备用端口。8008也是IANA官方备用端口,尽管我不记得曾经见过它使用。[0]虽然正式分配给iRDMI
0
gajydyqb6#
netstat -ano|grep这将给予端口的状态(是否正在使用
e4eetjau7#
如果有人在windows10专业版中尝试,netstat**-anp可能未列出任何连接,请尝试netstat -an并添加|find**查找您想要的端口例如,我想检查端口65432当前正在使用,然后我这样做
netstat -an|find "65432"
nbnkbykc8#
您可以使用“netstat”来检查端口是否可用。使用netstat -anp | find "port number"命令查找端口是否被其他进程占用。如果被其他进程占用,将显示该进程的进程ID。
netstat -anp | find "port number"
您必须输入:before端口号获取实际输出
Ex netstat -anp | find ":8080"
netstat -anp | find ":8080"
8条答案
按热度按时间pjngdqdw1#
是
netstat -ano|findstr port no
结果将在最后一列中显示进程ID
laawzig22#
netstat -ano|find ":port_no"
会给予你列表。a:显示所有连接和侦听端口。
n:以数字形式显示地址和端口号。
o:显示与每个连接关联的所属进程ID。
例如:
netstat -ano | find ":1900"
这给你这样的结果。v7pvogib3#
如果你更喜欢PowerShell,使用这个。你将得到进程的名称。
PID位于
Id
列中,它还提供了进程名称。如果没有进程正在使用此端口,则会显示红色错误消息。
如果要终止PID为25512的进程,请使用
/F
表示强制,有些进程没有/F
就不能被杀死r55awzrz4#
它是(Get-NetTCPConnection -LocalPort“port no.”).OwningProcess
hpxqektj5#
如果这是一个纯粹的本地问题,例如,你想在本地运行tomcat来测试你正在使用的应用程序,通常有效的方法是配置端口
0
。在这种情况下,当应用程序端口绑定时,操作系统将为它分配一个随机的“临时”端口,希望它注销。你必须检查一下tomcat是否支持这个,但是我希望它的代码是past answers mentioning it。
它避免了硬编码端口和TOCTOU的问题,尽管它显然不太方便,因为您需要每次都获得需要连接的端口。
另一种选择是尝试一堆自由端口,例如8000[0]和8888是HTTP服务器的常见备用端口。8008也是IANA官方备用端口,尽管我不记得曾经见过它使用。
[0]虽然正式分配给iRDMI
gajydyqb6#
netstat -ano|grep
这将给予端口的状态(是否正在使用
e4eetjau7#
如果有人在windows10专业版中尝试,netstat**-anp可能未列出任何连接,请尝试netstat -an并添加|find**查找您想要的端口
例如,我想检查端口65432当前正在使用,然后我这样做
nbnkbykc8#
您可以使用“netstat”来检查端口是否可用。
使用
netstat -anp | find "port number"
命令查找端口是否被其他进程占用。如果被其他进程占用,将显示该进程的进程ID。您必须输入:before端口号获取实际输出
Ex
netstat -anp | find ":8080"