Linux查看端口占用的进程号,通过进程号查看path

本文介绍了在Linux系统中如何查看特定端口被哪个进程占用的方法,并提供了通过进程号找到对应进程路径的命令。此外还给出了终止指定端口上进程的操作指令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

beyondbn博客迁移

 

Linux

查看端口占用的进程号: netstat -lnp|grep 8122        

 

通过进程号查看产生该进程的文件path: ps -ef|grep 13261

 

 或者:  

 ps -ef|grep tomcat

kill -9 端口号

 

 



 

 

### 查找端口号对应的进程 #### Linux 系统中的实现方式 在 Linux 中,可以通过多种命令组合来根据端口号查找相应的进程信息。一种常用的方法是利用 `netstat` 或者更现代的 `ss` 工具配合 `grep` 和 `awk` 来获取监听特定端口的服务名称以及 PID (进程ID)[^1]。 对于较新的发行版推荐使用 `ss` 命令: ```bash sudo ss -tuln | grep ':<port>' ``` 其中 `<port>` 是要查询的具体端口号。此命令会显示所有 TCP (`-t`) UDP(`-u`) 的监听状态 (`-l`) 并且不解析主机和服务的名字 (`-n`) ,之后通过管道传递给 `grep` 进行过滤得到指定端口的信息。 另一种方法则是直接借助 `lsof` (list open files),它能够列出当前系统上打开文件的状态,而网络连接也被视为特殊的文件描述符之一: ```bash sudo lsof -i :<port> ``` 这将会返回一系列有关于哪个进程正在使用这个端口的数据,包括但不限于进程 ID、用户以及其他细节[^2]。 一旦获得了目标进程的PID, 可以进一步采取行动比如终止该进程: ```bash kill -9 <pid> ``` 这里 `-9` 参数表示强制结束进程;当然,在实际应用中应当谨慎对待这种强力手段以免造成不必要的损害或者数据丢失[^3]。 #### Windows 系统中的实现方式 而在 Windows 上,则主要依赖于内置工具如 PowerShell 或 Command Prompt 。最简单有效的是运用 `Get-Process` cmdlet 结合 WMI 查询语句来完成同样的任务 : ```powershell Get-NetTCPConnection -LocalPort <port> | Select-Object -Property LocalAddress,RemoteAddress,State,@{Name='Process';Expression={(Get-Process -Id $_.OwningProcess).Path}} ``` 上述脚本片段不仅提供了本地地址和远程地址还有连接状态外加关联的应用程序路径。 另外还可以采用传统的 CMD 方式来进行快速排查: ```cmd netstat -ano | findstr :<port> tasklist /FI "PID eq <pid>" ``` 先用 `netstat` 找到占用端口的 PID 后再调用 `tasklist` 显示具体进程详情。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值