【Linux高级命令】1_进程和端口相关命令

一、重启和关机的命令【了解】

  • 重启 命令: reboot

  • 关机命令: shutdown

    对应的选项:

    • shutdown -r now 表示重启时,会给其他用户发送提示信息

    • shutdown -h now 表示立刻关机

    • shutdown -h 20:25 表示定时关机, 晚上8:25定时关机

    • shutdown -h +10 表示从当前时再往后十分钟进行关机

二、进程

2.1 查看系统进程:ps 【重点】

命令格式:

[root@localhost ~]# ps -aux  | grep  '关键字'

选项说明:

  • -a 选项:显示所有用户的进程

  • -u选项:显示进程的详细状态

  • -x选项:显示没有控制终端进程

2.1.1 grep结合管道符去查找特定的进程信息

  • linux电脑写法:
[root@localhost ~]# ps -aux | grep 'mysql'        查找系统进程当中包含 mysql 关键字的进程信息
  • 苹果电脑用此方法:
ps -ef|grep 'mysql'      (苹果电脑用此方法)
  • windows:
ctrl+shift+esc
  • 打开进程管理器为了干掉某个程序

在这里插入图片描述

2.2 实时查看系统的进程信息:top

  • 命令:
[root@localhost ~]# top              # top命令用于实时动态查看系统进程相关信息。

常用交互快捷键说明:

  • M(大写,按shift+m) 根据内存的大小降序显示进程信息
  • P(大写,按shift+m) 根据CPU使用率大小降序显示进程信息
  • q(大写,按shift+m) 退出top命令或者按ctrl+c也可以退出

注:按shift+m表示切换到大写的意思

2.3 关闭进程:kill【重点】

  • 命令格式
[root@localhost ~]# kill -9  进程ID       #该命令表示强制关闭对应的进程。

进程id一般会通过 ps命令 去查看到。
 -9 表示的是强制的关闭对应的进程。
  • 注意:需要注意当前执行操作的用户,普通用户不能关闭其他用户的进程,只能关闭自己打开的进程

在这里插入图片描述

三、端口

3.1 查看系统监听端口:netstat【重点】

  • 命令格式:
[root@localhost ~]# netstat -anptu    # 所有服务里面的端口和进程


注意:netstat一般会配合管道符命令grep来查看特定进程的端口信息。
例如:netstat -anp |grep mysql
netstat [-anptu]  |grep '关键字'     (root用户操作)
  • 选项说明:

    • -a 选项: 查看所有已打开的端口

    • -n 选项: 以数字方式显示已打开的端口,不显示别名

      (http:80 https:443 mysql:3306 ssh:22 )

    • -p 选项:显示对应的进程的PID

    • -t 选项: 显示出所有tcp协议的端口

    • -u 选项: 显示出所有udp协议的端口

3.1.1 示例-linux和mac

1、linux查找

  • 查看当前系统中已打开的TCP协议端口: netstat -anpt
  • 查看当前系统中是否已打开3306的端口: netstat -anptu | grep ‘3306’
  • 查看当前系统中是否已打开http的服务: netstat -aptu | grep ‘http’

2、mac查找端口号

 netstat -anp tcp

在这里插入图片描述

3.2 查看系统监听端口:lsof

  • 命令格式:
lsof -i    (root用户操作)

说明: lsof(list open files)是一个列出当前系统打开文件的工具,可以查看系统中正在使用端口的详细信息。

命令说明:

  • lsof -i :如果不给出条件,则默认显示所有已打开的进程的端口
  • -i:表示查看所有已打开的进程的端口
  • lsof -i:3306:查看系统中3306的端口是否已打开
  • lsof -i:80:查看系统中http的服务端口是否已打开

3.2.1 使用场景

  • 当我们去启动某个应用程序时,该 应用程序的端口有可能被其他程序所占用。
  • 那么此时就可以通过netstat 或者 lsof 查看对应的端口被谁占用了。
  • 然后关闭对应的进程,重新启动要启动的应用程序即可。

在这里插入图片描述

<think>好的,用户的问题是询问在Linux中查看进程占用端口命令,提到了netstatlsof。我需要先确认用户的需求,他们可能是在管理服务器或调试应用程序时遇到端口冲突,需要快速找出哪个进程占用了特定端口。 首先,我得回忆一下常用的命令。netstatlsof确实是主要的工具,但具体选项可能会影响结果。比如,netstat需要参数组合,如-tunlp来显示TCPUDP端口,并列出进程ID程序名。而lsof则需要-i选项指定端口,可能还需要sudo权限来查看所有进程。 用户可能还不太清楚这些命令的具体用法,所以需要详细说明每个参数的作用。比如,解释-t表示TCP,-u表示UDP,-n禁止域名解析,-l显示监听端口,-p显示进程信息。这样用户能理解为什么使用这些参数。 另外,考虑到不同Linux发行版可能有所差异,比如有些系统可能默认不安装netstat,推荐使用ss命令替代。这时候需要提到ss作为替代方案,但用户提到的是netstatlsof,所以可能需要补充说明。 还要注意权限问题,普通用户可能无法查看所有进程,所以使用sudo的重要性。比如,lsof -i :80可能需要sudo才能看到结果。 用户可能还需要知道如何反向查找,比如通过进程名找端口,或者通过端口进程。这时候需要给出相应的例子,比如使用pgrep先找到进程ID,再用lsof查端口。 最后,总结不同命令的优缺点,帮助用户根据具体情况选择合适的方法。比如,netstat可能被弃用,推荐使用ss,但用户可能更熟悉netstat,所以两者都介绍。 确保回答结构清晰,分点列出每个命令的具体用法,并给出示例,这样用户可以直接复制粘贴使用。同时,引用之前提供的参考资料,比如引用中提到的netstat命令,保持一致性,增加可信度。 检查是否有遗漏,比如其他工具如fuser或者/proc文件系统的方法,但用户主要问的是netstatlsof,所以可能不需要深入。不过可以简要提及作为扩展。 最后,验证每个命令的正确性,确保参数示例准确无误,避免误导用户。例如,netstat -tunlp的正确性,以及lsof -i :80的正确用法。</think>在 Linux 系统中查看进程占用端口的常用命令及详细使用方法如下: --- ### 一、netstat 命令(传统工具) ```bash netstat -tunlp | grep 端口号/进程名 ``` - **参数解析** `-t`:显示TCP端口 `-u`:显示UDP端口 `-n`:禁止域名解析(直接显示IP端口号) `-l`:仅显示监听状态的端口 `-p`:显示进程ID程序名称 - **示例** ```bash # 查看 80 端口的占用情况 netstat -tunlp | grep :80 # 查看 nginx 进程端口占用 netstat -tunlp | grep nginx ``` --- ### 二、lsof 命令高级工具) ```bash sudo lsof -i :端口号 sudo lsof -i | grep 进程名 ``` - **参数解析** `-i`:显示网络连接相关进程 `:端口号`:指定具体端口 - **示例** ```bash # 查看 3306 端口的占用(MySQL常用端口) sudo lsof -i :3306 # 查看 ssh 进程端口使用 sudo lsof -i | grep ssh ``` --- ### 三、ss 命令(netstat 的现代替代品) ```bash ss -tunlp | grep 端口号/进程名 ``` - **参数解析** 参数意义与 `netstat` 相同,但性能更优[^2]。 --- ### 四、通过进程ID反向查找 ```bash # 先通过进程名获取PID pgrep 进程名 # 再通过PID查看端口 sudo lsof -p PID | grep TCP ``` --- ### 五、注意事项 1. 需要 root 权限查看所有进程端口信息,普通用户可能无法显示完整结果 2. 如果未安装相关工具,可通过包管理器安装: ```bash # Debian/Ubuntu sudo apt install net-tools lsof ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少云清

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值