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

 更新时间:2024年04月01日 10:04:44   作者:从此不归路  
这篇文章主要介绍了Linux下如何查看端口以及释放端口问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一、查看端口是否被占用

在 Linux 系统上,你可以使用 `netstat` 或 `lsof` 命令来查看端口是否被占用。

以下是两种方法:

1、使用 `netstat` 命令

netstat -tulpn | grep <端口号>

这将显示占用指定端口的进程信息。

如果端口被占用,你将看到以下的输出项目:

tcp        0      0 0.0.0.0:<端口号>         0.0.0.0:*               LISTEN      <进程ID>/<进程名称>

实例:

2、使用 `lsof` 命令

sudo lsof -i :<端口号>

这也会显示占用指定端口的进程信息。

COMMAND  PID   USER   FD          TYPE   DEVICE SIZE/OFF  NODE   NAME
<进程名> <PID> <用户> <文件描述符> <类型> <设备> <大小/偏移> <节点> <地址>

实例:

如果端口没有被占用,这两个命令将没有输出。

另外,以上命令可能需要使用 `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 套接字。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Linux解决rsyslog服务占用内存过高的办法

    Linux解决rsyslog服务占用内存过高的办法

    当我们使用top命令查看内存占用时,发现rsyslogd内存占用很高,所以接下来这篇文章给大家介绍了Linux解决rsyslog服务占用内存过高的办法,文中有详细的图文介绍,需要的朋友可以参考下
    2024-05-05
  • Linux中如何查看已挂载的文件系统类型详解

    Linux中如何查看已挂载的文件系统类型详解

    这篇文章主要给大家介绍了关于在Linux中如何查看已挂载的文件系统类型的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • Centos6.5升级glibc过程介绍

    Centos6.5升级glibc过程介绍

    大家好,本篇文章给大家分享的是Centos6.5升级glibc过程介绍,感兴趣的同学赶快来看一看吧,如果对你有帮助的话记得收藏一下哦!
    2021-11-11
  • centos系统为php安装memcached扩展步骤

    centos系统为php安装memcached扩展步骤

    这篇文章主要介绍了centos系统为php安装memcached扩展的步骤,大家参考使用吧
    2014-01-01
  • 详解Linux 查看服务器开放的端口号

    详解Linux 查看服务器开放的端口号

    本篇文章主要介绍详解Linux 查看服务器开放的端口号,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • LINUX安全设置之关于GRUB加密图文教程全解

    LINUX安全设置之关于GRUB加密图文教程全解

    关于LINUX的启动装载程序GRUB加密,算是一件很平常的工作。但是今天我在网上查这个东西,发现好多人都写的很简单,而且方法都比较过时。所以,在此我更新下GRUB加密。和大家分享下。
    2010-03-03
  • centos7下安装oracle11gR2的详细步骤

    centos7下安装oracle11gR2的详细步骤

    本篇文章主要介绍了centos7下安装oracle11gR2的详细步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Apache多虚拟主机多站点配置的两种实现方案

    Apache多虚拟主机多站点配置的两种实现方案

    本文介绍了在Apache服务器上配置多虚拟主机的两种方案:基于IP地址的虚拟主机配置和基于域名的虚拟主机配置,详细说明了每个方案的配置步骤,以实现在同一台服务器上托管多个网站的目的,感兴趣的可以了解一下
    2024-09-09
  • Linux文件传输及解决yum安装失效的方法

    Linux文件传输及解决yum安装失效的方法

    这篇文章主要介绍了Linux文件传输及解决yum安装失效的方法,文中通过图文结合的方式给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-09-09
  • Linux CentOS7 vim重复行问题

    Linux CentOS7 vim重复行问题

    这篇文章主要介绍了Linux CentOS7 vim重复行问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11

最新评论