美文网首页
各系统(Mac、Lunix、Windows)查看端口被占用情况及

各系统(Mac、Lunix、Windows)查看端口被占用情况及

作者: AizawaSayo | 来源:发表于2021-03-11 00:05 被阅读0次

    Mac

    lsof -i :port port 指代端口号,下文中都是如此

    lsof -i tcp:port tcp 表示查看tcp类型的进程

    Linux

    1. ss 命令

    一般用于转储套接字统计信息,它可以比其它工具显示更多的 TCP 信息和状态信息。
    ss -tnlp | grep ssh 查看ssh进程
    ss -tnlp | grep ":port"

    2. netstat 命令

    netstat 能够显示网络连接、路由表、接口统计信息、伪装连接以及多播成员。默认情况下,netstat 会列出已打开的套接字。
    netstat -anp | grep port
    netstat -lnp | grep port

    netstat 常用参数参考:

    • -n, --numeric don't resolve names,不解析名称,即用网络IP地址代替名称,以显示网络连接情形
    • -p, --programs display PID/Program name for sockets,显示建立相关连接的程序名和PID
    • -l, --listening display listening server sockets 显示在 listening (监听) 的服务状态
    • -a, --all display all sockets (default: connected) 显示所有socket(否则默认只显示已连接的)
    3. lsof 命令

    能够列出打开的文件,并列出系统上被进程打开的文件的相关信息。
    lsof -i :port

    查看具体某类进程

    ps -ef | grep 进程名
    举🌰:
    ps -ef | grep node 查看Nodejs服务 占用的端口
    ps -ef | grep nginx

    image.png

    杀死进程(Linux和Mac皆可)

    kill -9 port -9指令是指强杀进程(非必要不推荐使用,还是找出对应的程序结束它的运行并修改冲突端口为好)

    另外,用pm2运行的项目占用的端口貌似杀不掉,有种可能就是pm2已经运行了这个项目(我自己就是忘记了),本地又想运行下进行测试,造成的冲突。

    Windows

    netstat -ano | findstr "port"


    用 PID 值去查出进程名(上图的PID是852)
    tasklist | findstr "PID"
    然后可以去任务管理器中去终止对应程序,或者用 taskkill 命令结束:
    taskkill /f /t /im PID

    相关文章

      网友评论

          本文标题:各系统(Mac、Lunix、Windows)查看端口被占用情况及

          本文链接:https://www.haomeiwen.com/subject/fsuwqltx.html