zoukankan      html  css  js  c++  java
  • window与linux查看端口被占用

    本文摘写自:

    百度经验

    https://www.cnblogs.com/ieayoio/p/5757198.html

     一、windows:开始---->运行---->cmd,或者是window+R组合键,调出命令窗口

     1、输入命令:netstat -ano,列出所有端口的情况。在列表中我们观察被占用的端口,比如是49157,首先找到它。

     

    2、查看被占用端口对应的PID,输入命令:netstat -aon|findstr "49157",回车,记下最后一位数字,即PID,这里是2720。

     

    3、继续输入tasklist|findstr "2720",回车,查看是哪个进程或者程序占用了2720端口,结果是:svchost.exe

     

    4、或者是我们打开任务管理器,切换到进程选项卡,在PID一列查看2720对应的进程是谁,如果看不到PID这一列,如下图:

     

    5、则我们点击查看--->选择列,将PID(进程标示符)前面的勾打上,点击确定。

     

    6、这样我们就看到了PID这一列标识,看一下2720对应的进程是谁,如果没有,我们把下面的显示所有用户的进程前面的勾打上,就可以看到了,映像名称是svchost.exe,描述是,Windows的主进程,与上面命令查看的完全一致。

     

    7、结束该进程:在任务管理器中选中该进程点击”结束进程“按钮,或者是在cmd的命令窗口中输入:taskkill /f /t /im Tencentdl.exe。

     

    二、linux:查看端口占用情况

    在使用Linux系统的过程中,有时候会遇到端口被占用而导致服务无法启动的情况。比如HTTP使用80端口,但当启动Apache时,却发现此端口正在使用。

    这种情况大多数是由于软件冲突、或者默认端口设置不正确导致的,此时需要查看究竟哪个进程占用了端口,来决定进一步的处理方法。

    1、查看端口占用情况的命令:lsof -i

     

    这里返回了Linux当前所有打开端口的占用情况。第一段是进程,最后一列是侦听的协议、侦听的IP与端口号、状态。如果端口号是已知的常用服务(如80、21等),则会直接显示协议名称,如http、ftp、ssh等。

     2、查看某一端口的占用情况: lsof -i:端口号

     

    这里显示出21号端口正在被pure-ftpd使用,状态是listen。

    3、结束占用端口的进程:killall 进程名

    虽然我们不建议用这种本末倒置的方法来解决冲突问题,但某些情况下还是可以直接结束掉占用进程的(比如重启Apache时进程没有完全退出,导致重启失败)

     

    这样,所有的pure-ftpd进程都会被结束掉。

    4、也可使用命令:netstat -apn|grep <端口号>

    例如:
    Linux代码  
    [root@SonarServer1 user0]# netstat -apn|grep 80  
    tcp        0      0 :::80                       :::*                        LISTEN      19408/java    
    找到进程号以后,再使用以下命令查看详细信息:
    ps -aux|grep <进程号>
     
  • 相关阅读:
    js中const,var,let区别与用法
    poi excel 导出
    spring 实体类 date类型字段处理
    mysql 1449 : The user specified as a definer ('root'@'%') does not exist
    pjax学习
    上传文件 connection reset
    mysql连接问题
    Scala Actor Model
    Scala 隐式转换
    Scala Trait+Match+Case class+偏函数
  • 原文地址:https://www.cnblogs.com/better-farther-world2099/p/9132608.html
Copyright © 2011-2022 走看看