linux查看端口被哪个程序占用命令

fiy 其他 113

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Linux系统中,可以使用以下命令来查看端口被哪个程序占用:

    1. netstat命令:
    使用netstat命令可以查看当前系统的网络连接状态和相关信息。通过加入一些选项,可以定位到特定端口对应的程序。以下是具体的命令示例:
    “`shell
    netstat -tuln | grep <端口号>
    “`
    其中,-t选项用于显示TCP连接,-u选项用于显示UDP连接,-l选项用于显示监听状态的端口,-n选项用于显示端口号而不是服务名称。通过grep命令可以过滤出指定的端口号。

    2. lsof命令:
    lsof命令可以查看正在被打开的文件和运行的进程。通过lsof命令可以找到使用指定端口的程序。以下是具体的命令示例:
    “`shell
    lsof -i:<端口号>
    “`
    其中,-i选项表示针对网络连接进行搜索,:<端口号>表示指定的端口号。

    使用上述命令后,系统会返回相关的信息,其中包括端口号、程序的PID(进程ID)以及程序的名称。

    以上是查看端口被哪个程序占用的两种基本方法,根据具体情况选择其中一种即可。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux系统中,可以使用以下命令来查看端口被哪个程序占用:

    1. netstat命令:netstat命令用于显示网络连接、路由表和网络接口信息。通过使用特定的选项,可以过滤并仅显示特定端口的信息。使用以下命令可以查看所有端口的占用情况:
    “`shell
    netstat -tuln
    “`
    此命令将列出所有已经监听的TCP和UDP端口,并显示占用该端口的进程的PID(进程ID)。

    2. lsof命令:lsof命令用于列出当前系统打开的文件,通过加上网络相关的参数,可以查看端口以及被哪个进程占用。使用以下命令可以查看指定端口的占用情况:
    “`shell
    lsof -i :端口号
    “`
    例如,要查看端口号为80的占用情况,可以使用以下命令:
    “`shell
    lsof -i :80
    “`
    该命令将显示占用端口80的进程的详细信息,包括进程ID、进程名称等。

    3. ss命令:ss命令用于显示当前活动的socket连接。通过使用特定的选项,可以过滤并仅显示特定端口的信息。使用以下命令可以查看所有端口的占用情况:
    “`shell
    ss -tuln
    “`
    此命令将列出所有已经监听的TCP和UDP端口,并显示占用该端口的进程的PID(进程ID)。

    4. fuser命令:fuser命令用于查找特定文件或端口的进程ID。可以使用以下命令来查找指定端口的占用情况:
    “`shell
    fuser 端口号/tcp
    “`
    例如,要查找端口号为80的占用情况,可以使用以下命令:
    “`shell
    fuser 80/tcp
    “`
    该命令将显示占用端口80的进程的详细信息,包括进程ID、进程名称等。

    5. pidof命令:pidof命令用于查找指定进程的进程ID。可以使用以下命令来查找指定端口的占用情况:
    “`shell
    pidof 程序名称
    “`
    例如,要查找nginx进程占用的端口号,可以使用以下命令:
    “`shell
    pidof nginx
    “`
    该命令将显示nginx进程的进程ID。

    使用以上命令中的任意一个,可以方便地查看端口被哪个程序占用的情况。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux系统中,要查看端口被哪个程序占用,可以使用以下命令:netstat、lsof、ss、pidof、fuser等。

    1. 使用netstat命令:
    netstat命令用于显示网络连接、路由表和网络接口信息。使用`netstat -tlnp`命令可以列出所有处于监听状态的网络连接,并显示对应的程序PID和名称。

    “`
    $ netstat -tlnp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd
    tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 5678/postgres
    “`

    在这个示例中,可以看到22端口被sshd进程占用,5432端口被postgres进程占用。

    2. 使用lsof命令:
    lsof命令用于列出打开文件和网络连接的程序。使用`lsof -i :端口号`命令可以列出占用指定端口的程序。

    “`
    $ lsof -i :22
    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
    sshd 1234 root 3u IPv6 1234 0t0 TCP *:ssh (LISTEN)
    sshd 5678 user 3u IPv6 5678 0t0 TCP localhost:ssh->127.0.0.1:12345 (ESTABLISHED)

    $ lsof -i :5432
    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
    postgres 5678 postgres 3u IPv6 5678 0t0 TCP localhost:5432 (LISTEN)
    “`

    在这个示例中,可以看到22端口被sshd进程占用,5432端口被postgres进程占用。

    3. 使用ss命令:
    ss命令用于显示套接字统计信息。使用`ss -lntu`命令可以列出所有处于监听状态的TCP和UDP连接,并显示对应的程序PID和名称。

    “`
    $ ss -lntu
    State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
    LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:((“sshd”,pid=1234,fd=3))
    LISTEN 0 128 127.0.0.1:5432 0.0.0.0:* users:((“postgres”,pid=5678,fd=3))
    “`

    在这个示例中,可以看到22端口被sshd进程占用,5432端口被postgres进程占用。

    4. 使用pidof命令:
    pidof命令用于查找某个进程的PID。可以先通过其他命令找出某个端口被哪个程序占用的PID,然后使用`pidof PID`命令查找对应的进程名称。

    “`
    $ netstat -tlnp | grep “:22”
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd

    $ pidof 1234
    1234

    $ ps -p 1234 -o comm=
    sshd
    “`

    在这个示例中,可以看到22端口被sshd进程占用,然后使用pidof命令找到sshd的进程PID,最后使用ps命令找到对应的进程名称。

    5. 使用fuser命令:
    fuser命令是一个用于查找在文件或文件系统上正在使用的进程的工具。可以使用`fuser 端口号/tcp`命令查找占用指定端口的进程。

    “`
    $ fuser 22/tcp
    22/tcp: 1234

    $ ps -p 1234 -o comm=
    sshd
    “`

    在这个示例中,可以看到22端口被sshd进程占用,然后使用ps命令找到对应的进程名称。

    以上是几个常用的命令,可以用来查看在Linux系统中某个端口被哪个程序占用。可以根据实际情况选择使用其中的任意一个命令。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部