杀鸡焉用牛刀 发表于 2024-6-14 22:24:39

Linux 下查看端口以及释放端口

目录

一、查看端口是否被占用
1、使用 `netstat` 下令
2、使用 `lsof` 下令
二、释放端口
1、使用kill下令
2、使用 fuser 下令
三、netstat
四、lsof
五、fuser

一、查看端口是否被占用

        在 Linux 体系上,你可以使用 `netstat` 或 `lsof` 下令来查看端口是否被占用。以下是两种方法:
1、使用 `netstat` 下令


netstat -tulpn | grep <端口号>
这将显示占用指定端口的进程信息。如果端口被占用,你将看到以下的输出项目:

tcp        0      0 0.0.0.0:<端口号>         0.0.0.0:*               LISTEN      <进程ID>/<进程名称>
        实例:
https://img-blog.csdnimg.cn/direct/b3e0717262f84d9ba3f9324a460caf03.png
2、使用 `lsof` 下令


sudo lsof -i :<端口号>
这也会显示占用指定端口的进程信息。

COMMAND  PID   USER   FD        TYPE   DEVICE SIZE/OFFNODE   NAME
<进程名> <PID> <用户> <文件描述符> <类型> <设备> <大小/偏移> <节点> <地址>
实例:
https://img-blog.csdnimg.cn/direct/f13f2a9c11cc46db97b08cf35078981a.png
 如果端口没有被占用,这两个下令将没有输出。另外,以上下令可能需要使用 `sudo` 或具有足够权限的用户才能运行。
二、释放端口

        如果通过上面的操作发现某个端口被占用,决定释放该端口。通常,端口的释放是通过终止占用该端口的进程来实现的。
1、使用kill下令

        使用 `kill` 下令结束占用端口的进程,其中 `<PID>` 是进程的标识符:

   sudo kill <PID>
2、使用 fuser 下令

        另一种找到并杀死占用端口的进程的方法是使用 `fuser` 下令:

sudo fuser -k <端口号>/tcp
三、netstat

  netstat 是一个用于显示网络相关信息的下令行工具,通常用于查抄网络毗连、路由表、接口统计等。
        上述 netstat 下令中,选项 -tulpn 是一组选项的缩写,每个字母表现特定的信息:


[*]-t: 显示 TCP 毗连信息。
[*]-u: 显示 UDP 毗连信息。
[*]-l: 显示监听状态的毗连。
[*]-p: 显示正在使用套接字的进程。
[*]-n: 以数字形式显示地址和端口,而不举行名称解析。
四、lsof

        `lsof`(List Open Files)是一个用于列出在Unix和类Unix体系上打开文件的工具。它还可以用于显示进程打开的网络毗连、Unix域套接字等。以下是一些常见的用法示例:
1. 列出所有打开的文件

    lsof
    这将列出所有打开的文件,包罗普通文件、目录、装备文件和网络套接字等。
2. 列出特定进程打开的文件

    lsof
-p <PID>     将 `<PID>` 替换为要查看的进程的进程ID,这样你就可以查看特定进程打开的文件。
3. 列出特定端口被哪个进程占用

    lsof
-i :<端标语>     替换 `<端标语>` 为要查看的端标语,这将显示占用该端口的进程信息。
4. 列出某个目录下被哪个进程占用的文件

    lsof
/path/to/directory     这将显示在指定目录下被打开的文件。
5. 列出网络毗连信息

    lsof
-i     这将显示体系上的所有网络毗连,包罗打开的套接字、端口和毗连状态。
6. 列出Unix域套接字信息:

    lsof
-U     这将显示体系上的所有Unix域套接字信息。
五、fuser

        这个下令用于显示使用特定文件、套接字或文件体系的进程信息。
以下是一些常见选项的表明:
`-a, --all`:显示所有进程的信息,包罗没有访问任何文件的进程。
`-i, --interactive`:在终止进程之前请求确认。与 `-k` 选项一起使用时生效。
`-I, --inode`:使用 inode 号码而不是文件名举行比力。
`-k, --kill`:终止访问指定文件的进程。
`-l, --list-signals`:列出可用的信号名称。
`-m, --mount`:显示使用指定文件体系或块装备的所有进程。
`-M, --ismountpoint`:只在指定名称是挂载点时实行。
`-n, --namespace SPACE`:在指定的命名空间中搜索(file、udp 或 tcp)。
`-s, --silent`:静默实行操作,不显示消息。
`-SIGNAL`:在终止进程时发送指定的信号,而不是默认的 SIGKILL。
`-u, --user`:显示用户 ID 以及进程信息。
`-v, --verbose`:提供详细输出。
`-w, --writeonly`:仅终止具有写访问权限的进程。
`-V, --version`:显示版本信息。
`-4, --ipv4`:仅搜索 IPv4 套接字。
`-6, --ipv6`:仅搜索 IPv6 套接字。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Linux 下查看端口以及释放端口