揪出占用端口的程序(WIN和Linux)

简介:
这个问题在Linux下很好解决:
Linux版本的netstat 本身就支持直接查看程序名称
例如我们查看一下23端口被是被哪个程序占用了,
# netstat -anp
然后我们会看到如下的一堆双方通信的IP和端口,以及处理它们的程序名及程序PID
如:
# netstat -anp |egrep ":22[\t ]"
tcp        0      0 :::22                       :::*                        LISTEN      3550/sshd
tcp        0      0 ::ffff:192.168.0.250:22     ::ffff:192.168.0.1:4812     ESTABLISHED 20010/0
tcp        0     52 ::ffff:192.168.0.250:22     ::ffff:192.168.0.1:7336     ESTABLISHED 22241/2
tcp        0      0 ::ffff:192.168.0.250:22     ::ffff:192.168.0.1:6249     ESTABLISHED 19548/1
一般情况我们就能判断出是那个程序,即使有的时候有同名的程序,我们也可以通过PID结合ps -ax给挖出来。当然实际上我们得到了PID,就已经可以对它进行操作了。
 
那么在Windows下呢?
其实也也不难,仔细看了看Window下的netstat程序,不难发现它也有一个类似显示进程ID的参数。
我们简单地通过80端口被占用的情况来说明下,不做详解。
C:\Documents and Settings\xxxxx>netstat -ano |findstr "0.0.0.0:80[^0-9]"
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       920
C:\Documents and Settings\xxxxx>tasklist |findstr "[^0-9]920[^0-9]"
xxxxxxxxxx.exe               920 Console                 0      5,692 K
 
当然如果你用aport这类的工具也能做到,但是除非是大规模应用,否则的话不会每台服务器上都可以统一装上这类工具。
 
 
      本文转自xiaoyuwang 51CTO博客,原文链接:http://blog.51cto.com/wangxiaoyu/223551,如需转载请自行联系原作者


相关文章
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
Idea启动SpringBoot程序报错:Veb server failed to start. Port 8082 was already in use;端口冲突的原理与解决方案
本文解决了Idea启动SpringBoot程序报错:Veb server failed to start. Port 8082 was already in use的问题,并通过介绍端口的使用原理和操作系统的端口管理机制,可以更有效地解决端口冲突问题,并确保Web服务器能够顺利启动和运行。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
用的到linux-tomcat端口占用排查-Day5
通过本文的介绍,详细讲解了在CentOS 8系统上排查和解决Tomcat端口占用问题的方法。从使用 `netstat`、`lsof`和 `ss`命令检查端口占用情况,到使用 `ps`和 `top`命令查找和停止占用端口的进程,再到修改Tomcat端口配置,最后介绍了自动化脚本的方法。希望本文能帮助系统管理员和开发者有效地解决端口占用问题,确保Tomcat服务器的正常运行。
54 11
Linux上执行内存中的脚本和程序
【9月更文挑战第3天】在 Linux 系统中,可以通过多种方式执行内存中的脚本和程序:一是使用 `eval` 命令直接执行内存中的脚本内容;二是利用管道将脚本内容传递给 `bash` 解释器执行;三是将编译好的程序复制到 `/dev/shm` 并执行。这些方法虽便捷,但也需谨慎操作以避免安全风险。
309 6
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
857 2
Linux下mysql数据库的导入与导出以及查看端口
本文详细介绍了在Linux下如何导入和导出MySQL数据库,以及查看MySQL运行端口的方法。通过这些操作,用户可以轻松进行数据库的备份与恢复,以及确认MySQL服务的运行状态和端口。掌握这些技能,对于日常数据库管理和维护非常重要。
212 8
Linux 开放的端口太多了?教你一招找出所有开放的端口,然后直接干掉!
在 Linux 系统中,端口管理至关重要。本文介绍了如何使用 `netstat`、`lsof` 和 `nmap` 等工具查找开放端口,并通过关闭相关服务、修改防火墙规则或禁用网络接口来关闭这些端口,以提高系统安全性。注意不要随意关闭重要端口,谨慎操作并备份数据。
139 3
|
7月前
|
Linux查找占用的端口,并杀死进程的简单方法
通过上述步骤和命令,您能够迅速识别并根据实际情况管理Linux系统中占用特定端口的进程。为了获得更全面的服务器管理技巧和解决方案,提供了丰富的资源和专业服务,是您提升运维技能的理想选择。
301 1
|
7月前
|
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
287 1
阿里云国际上如何检查 Linux 上正在使用哪些端口
阿里云国际上如何检查 Linux 上正在使用哪些端口
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等