.

.

.

.

.

我们经常使用的网络程序偶尔会遇到端口被占用的情况,但是却苦于无法找到占用端口的程序,这篇文章将教你两个命令,轻松排查端口占用问题。

关键命令:

1.查询端口占用:netstat -ano | findstr "7001"

2.查询占用端口的进程:tasklist /fi "pid eq 2072"

3.[赠送]干掉占用的进程:taskkill /im avp.exe /f

下面开始进入正题,扯一扯事件的始末。急于解决问题的朋友就不必往下看了,上面三条命令足矣解决燃眉之急。

有一天早晨,用小学生写作文的话说就是风和日丽晴空万里,我来到办公室启动各种开发环境准备开始苦逼的一天。

Weblogic 启动到80%左右就一直停在那里,控制台最后一行已经输出了:

<2013-11-13 上午10时26分53秒 CST> <Notice> <WebLogicServer> <BEA-000360> <Server started in RUNNING mode>

正常来说即使 Eclipse Progress 进度条显示不到100%也可以使用浏览器访问了,可是谁知用浏览器一访问,返回:

Internet Explorer cannot display the webpage

隐隐的有种不详的预感,但是也没做太多的怀疑,毕竟进度条还没走完。

等啊等,等啊等。。。启动进度一直停留在百分之80几,等了10分钟,Eclipse 终于报了一个错误,似乎是说Weblogic启动超时。

再启动还是同样的问题。。

排查了半天,想了各种办法,依然找不出原因来。

无奈只好仔细看控制台上输出的日志,忽然一行log赫然映入眼帘:

<2013-11-13 上午10时26分53秒 CST> <Error> <Server> <BEA-002606> <Unable to create a server socket for listening on channel "Default[6]". The address 127.0.0.1 might be incorrect or another process is using port 7001: java.net.BindException: Address already in use: JVM_Bind.>

哈哈,踏破铁鞋无觅处,原来错误消息就在眼前。。很明显它说7001端口被占用了。

于是就该拿出上面的命令来解决问题了!

赶紧启动CMD:

C:\Users\yuhuashi>netstat -ano | findstr "7001"
TCP 127.0.0.1:7001 127.0.0.1:7001 ESTABLISHED 2072

7001端口被PID为2072的进程给占用了,赶紧看看2072是何方神圣:

C:\Users\yuhuashi>tasklist /fi "pid eq 2072"

Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
avp.exe 2072 Services 0 93,628 K

哈,被我抓到了。。是avp.exe,即卡巴斯基。

呃,排查到此就结束了,元凶也被抓到了,只是要不要对它 kill 呢?那就要看各位看官的实际情况适当解决了。

不过这里说一下这个附赠的 taskkill 命令。

这个命令可以将某个进程结束掉,这里我用我那个启动失败的 Weblogic 给大家做个示范:

C:\Users\yuhuashi>taskkill /im java.exe /f
SUCCESS: The process "java.exe" with PID 4772 has been terminated.

成功结束了 java.exe 进程。

im 参数表示要结束的进程名称,当然也可以使用 pid,改成 /pid 参数即可。

如果你输入了一个不存在的进程名称或者PID,那么执行结果如下:

C:\Users\yuhuashi>taskkill /im java.exe /f
ERROR: The process "java.exe" not found.

【windows】查询占用端口的程序——记一次解决webloigc启动失败的过程的更多相关文章

  1. windows查询占用端口

    https://jingyan.baidu.com/article/3c48dd34491d47e10be358b8.html 1)端口号 - 查进程 netstat -aon|findstr &qu ...

  2. 【Windows】命令行查询占用端口信息

    Windows上查询443端口被占用的信息: NETSTAT.EXE -nao | findstr "443" 查询结果 杀掉进程: tskill 2888

  3. Windows下查看端口被程序占用的方法

      有时安装程序时,会出现XX端口被占用的情况,可以通过CMD命令查看什么程序占用 1. netstat -ano 查看相应端口对应程序的PID 例如:   C:\>netstat -ano A ...

  4. linux与windows查看占用端口的进程ID并杀死进程

    有时候tomcat出现端口被占用,需要查出进程ID并杀死进程. 1.查找占用端口的进程ID(windows与linux一样  8005也可以加上引号   grep可以用findstr替换) 6904就 ...

  5. Linux及Windows查看占用端口的进程

    想必大家在部署环境启动服务的时候,会遇到服务起不起来的问题,看日志,说是端口被占用了. 有的时候,我们不想改端口,那么,就需要去查看到底是哪个应用把这个端口给占用了,然后干掉它即可. 下面分别列举li ...

  6. windows 查询文件被什么程序占用

    运行Resmon CPU选项卡全选 在[关联的句柄]里查询: 需要的时间挺多的...

  7. Windows查看占用端口的进程及其对应的应用程序并关闭之

    ^_^ C:\Users\dsp> C:\Users\dsp>netstat -ano | findstr " TCP LISTENING TCP TIME_WAIT TCP T ...

  8. windows查看占用端口的进程

    1方法 先找到进程号: netstat -aon|findstr 再根据进程号得到进程: tasklist |findstr " 2结果

  9. Linux 结束占用端口的程序

    [root@ucit ~]# lsof -i:80COMMAND    PID USER   FD   TYPE DEVICE SIZE NODE NAMEjava      1839 root   ...

随机推荐

  1. centos6.4安装GitLab

    参考文章: http://www.pickysysadmin.ca/2013/03/25/how-to-install-gitlab-5-0-on-centos-6/ yum安装redis的方法: h ...

  2. process credentials(一)

    一.介绍 当linux系统中的一个进程运行起来的时候,总是要访问系统的资源,访问文件或者向其他的进程发送信号.系统是否允许其进行这些操作?系统是根据什么来判断该进程的权限?这些问题是和进程信任状(pr ...

  3. samba 服务器搭建

    为了能在两台机器上共享代码,方便测试不同平台性能和搭建分布式的web server,今天耗费半天时间搭建一个samba服务器共享数据,要求开放写权限,但多次实验均告失败,最终在 鸟哥 的提醒下 检查发 ...

  4. SharePoint 2013 Troubleshooting——启用 Developer Dashboard

    SharePoint 2010的管理员和开发者可能对SharePoint Developer Dashboard(开发人员仪表盘)很熟悉.在SharePoint 2013这个工具已经被大范围的改写了, ...

  5. Python 爬虫 使用正则去掉不想要的网页元素

    在做爬虫的时候,我们总是不想去看到网页的注释,或者是网页的一些其他元素,有没有好的办法去掉他们呢? 例如:下面的问题 第一种情况<ahref="http://artso.artron. ...

  6. shiro 基本认知

    1 shiro 的作用:安全.权限管理. 具有的功能:认证.授权.加密.会话管理.web集成.缓存 2 shiro 结构 3

  7. kibana 的search 的的搜索提示挡住输入框

    解决方案就是 [root@10-19-148-59 styles]# pwd /data/package/kibana/src/public/styles [root@10-19-148-59 sty ...

  8. 基于ASP.NET MVC的ABP框架入门学习教程

    为什么使用ABP 我们近几年陆续开发了一些Web应用和桌面应用,需求或简单或复杂,实现或优雅或丑陋.一个基本的事实是:我们只是积累了一些经验或提高了对,NET的熟悉程度. 随着软件开发经验的不断增加, ...

  9. Python 3.6 安装pip

    1.首先python3.4以后,pip内嵌,不过使用方法是: python -m pip install django 2.如果你觉得上面的指令太长,想用旧方法使用pip,那用以下指令安装pip即可 ...

  10. mybatis使用注解往postgresql数据库表insert数据[主键自增]的写法

    建表SQL: DROP TABLE IF EXISTS person; CREATE TABLE person( person_id serial PRIMARY KEY NOT NULL, pers ...