• 如何查看某个端口被谁占用


    Linux

    使用 netstat 查看

    netstat 能够显示网络连接、路由表、接口统计信息、伪装连接以及多播成员。目前netstat 已经过时了,都推荐使用ss来代替。

    netstat -tnlp | grep :22
    
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6806/sshd tcp6 0 0 :::22 :::* LISTEN 6806/sshd

    同理,要查看到所有程序需要有root权限。

    使用 lsof 查看

    lsof(list open files)是一个列出系统上被进程打开的文件的相关信息。

    lsof -i tcp:22
    
    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEsshd 6806 root 3u IPv4 147399 0t0 TCP *:ssh (LISTEN)sshd 6806 root 4u IPv6 147401 0t0 TCP *:ssh (LISTEN)

    同理,要查看到所有程序需要有root权限。

    注:如果没有lsof这个命令,CentOS可以用yum install lsof来安装。

    杀死进程

    kill -9 8606
    

     8606键入对应的PID

    Window

    cmd输入命令:netstat -ano,列出所有端口的情况。

    查看被占用端口对应的PID,输入命令:netstat -aon|findstr "9000"

    回车,记下最后一位数字,即PID,这里是4812

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

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

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

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

     

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

     

  • 相关阅读:
    算法笔记--二分图判定
    算法笔记--最小表示法
    Codeforces 525A
    Codeforces 140D
    Codeforces C
    Codeforces 665C
    Codeforces 604B
    Codeforces 285C
    The Fewest Coins POJ
    Triangular Pastures POJ
  • 原文地址:https://www.cnblogs.com/cxscode/p/7514980.html
Copyright © 2020-2023  润新知