博客
关于我
Linux进程管理实战指南:实用工具命令详解
阅读量:790 次
发布时间:2023-02-05

本文共 2692 字,大约阅读时间需要 8 分钟。

Linux 进程管理命令及实用技巧

1. ps 命令

ps 是 Linux 系统中常用的命令,用于查看系统中正在运行的进程信息。它可以帮助你了解系统资源的使用情况,管理进程。

ps 命令选项

ps 命令提供了丰富的选项,你可以根据需要选择合适的参数:

  • -a:显示所有用户的所有进程,包括其他用户的进程。
  • -u:以用户为基础显示进程信息,包括用户名、PID、CPU、内存使用情况等。
  • -x:显示没有控制终端的进程。
  • -e:显示所有正在运行的进程。
  • -f:以全格式显示进程信息,包括 PID、PPID、进程状态等。
  • -l:以长格式显示进程信息,包括用户、PID、CPU使用率等。

示例命令

  • 显示所有用户的所有进程信息:
    ps -aux
  • 显示所有正在运行的进程:
    ps -ef
  • 查询 redis 进程信息:
    ps -aux | grep redis

输出解析

  • 第一行:表示 redis 进程的详细信息:

    • 进程名称:redis
    • 进程ID:1054
    • CPU 使用率:0.9
    • 内存使用率:0.3
    • 内存占用量:143056 KB
    • 虚拟内存占用量:5812 KB
    • 进程状态:?
    • 启动时间:15:45
    • 运行时间:1小时6分钟
    • 可执行文件路径和参数:/usr/bin/redis-server 0.0.0.0:6379
  • 第二行:表示 grep redis 进程的信息:

    • 进程所有者:root
    • 进程ID:1939
    • CPU 使用率:0.0
    • 内存使用率:0.0
    • 内存占用量:112824 KB
    • 虚拟内存占用量:988 KB
    • 终端:pts/0
    • 进程状态:S+
    • 启动时间:17:44
    • 运行时间:0小时0分钟
    • 可执行文件路径和参数:grep --color=auto redis

2. top 命令

top 命令是一个实时监控工具,用于显示系统中各个进程的资源占用情况,包括 CPU、内存等。

基本语法

top [options]

常用选项

  • -d:指定刷新间隔,单位为秒,默认为 1 秒。
  • -p:监控特定的 PID。
  • -n:运行 top 命令时显示几次更新后退出,例如 top -n 5 会显示 5 次更新后退出。
  • -u:仅显示特定用户的进程。
  • -o:按某一字段排序,例如 -o %MEM 按内存使用率排序。

交互操作

在运行 top 的同时,可以通过键盘快捷键进行操作:

  • Shift + P:按 CPU 使用率排序。
  • Shift + M:按内存使用率排序。
  • k:终止一个进程。
  • f:添加或删除显示的列。
  • t:打开或关闭显示图形。
  • 1:显示所有 CPU 的状况,而不是总体平均值。

示例

  • 启动 top 命令:
    top
  • 显示所有 CPU 的状况:
    top 1
  • 监控特定 PID 的进程:
    top -p 10789

3. htop 命令

htop 命令是一个类似于 top 命令的工具,但界面更友好,支持鼠标操作。

安装方法

  • Ubuntu/Debian:
    sudo apt update && sudo apt install htop
  • CentOS/RHEL:
    sudo yum install htop

使用方法

  • 启动 htop 命令:
    htop
  • 通过键盘快捷键进行操作,例如:
    • ↑/↓:上下移动光标选择进程。
    • F6:按某一字段排序。
    • F9:发送信号给选定的进程。
    • q:退出 htop。

4. pgrep 命令

pgrep 命令用于根据进程的名称或其他属性查找正在运行的进程,并返回与之匹配的 PID。

基本语法

pgrep [options] 
  • <pattern>:是用于匹配进程的模式,可以是进程名称、命令行参数或其他属性。

常用选项

  • -u:指定进程所属的用户名。
  • -x:精确匹配整个进程命令行。
  • -d:使用自定义分隔符来分隔多个 PID。
  • -n:仅显示最新创建的进程。
  • -o:指定输出格式,例如 %p 表示进程ID。

示例

  • 查找所有以 "nginx" 开头的进程:
    pgrep nginx
  • 限制搜索特定用户的进程:
    pgrep -u username nginx

5. kill 命令

kill 命令用于终止正在运行的进程。

基本语法

kill [options] 
  • <pid>:要终止的进程的 PID。

示例

  • 终止 PID 为 12345 的进程:
    kill 12345

6. pkill 命令

pkill 命令用于根据进程的属性发送信号给进程,从而终止或操作匹配的进程。

基本语法

pkill [options] 

常用选项

  • -u:指定要匹配的进程所属的用户名。
  • -x:精确匹配整个进程命令行。
  • -n:仅发送信号给最新创建的进程。
  • -signal:指定要发送的信号,默认为 SIGTERM。
  • -l:显示可用的信号列表。

示例

  • 终止所有名为 "nginx" 的进程:
    pkill nginx
  • 终止特定用户的进程:
    pkill -u username nginx

7. systemctl 命令

systemctl 命令用于管理系统服务,包括启动、停止、重启、启用或禁用服务。

常用命令

  • 启动一个系统服务:
    systemctl start 
  • 停止一个系统服务:
    systemctl stop 
  • 重启一个系统服务:
    systemctl restart 
  • 显示一个系统服务的状态信息:
    systemctl status 
  • 设置服务在系统启动时自动启用:
    systemctl enable 
  • 设置服务在系统启动时不自动启用:
    systemctl disable 
  • 列出当前正在运行的所有系统服务:
    systemctl list-units --type=service
  • 重新加载 systemd 管理的服务单元配置:
    systemctl daemon-reload

8. 安装与使用工具包

  • 安装 htop

    • Ubuntu/Debian:
      sudo apt update && sudo apt install htop
    • CentOS/RHEL:
      sudo yum install htop
  • 安装网络安全学习资料

    • Ubuntu/Debian:
      sudo apt update && sudo apt install net-tools
    • CentOS/RHEL:
      sudo yum install net-tools

通过这些命令和工具,你可以轻松管理 Linux 系统中的进程,优化系统性能。无论你是技术新手还是系统管理员,这些工具都能为你提供强大的支持。

转载地址:http://wekfk.baihongyu.com/

你可能感兴趣的文章
Linux网络带宽状态分析工具详解
查看>>
Linux网络管理工具:ifconfig,从入门到精通
查看>>
linux网络结构体
查看>>
linux网络编程二十:socket选项:SO_RCVTIMEO和SO_SNDTIMEO
查看>>
Linux网络编程常见面试题
查看>>
linux网络编程概念(一)
查看>>
Linux网络设备驱动 _驱动模型
查看>>
Linux网络配置与故障排除
查看>>
linux脚本执行报错:坏的解释器: 没有那个文件或目录
查看>>
Linux自主访问控制——有效ID与真实ID
查看>>
linux自动运行u盘上的脚本,脚本实现U盘自动挂载(linux)
查看>>
Linux自学笔记——openssh
查看>>
Linux自定义开机启动服务和chkconfig使用方法
查看>>
linux英英词典项目,五大主流英英词典(ESL)比较使用测评报告
查看>>
linux获取文件所在目录下,Linux_在Linux系统中获得文件所在目录名的方法,方式一:使用“ dirname“ - phpStudy...
查看>>
linux菜单无法编辑,gvim在linux下菜单无法显示问题
查看>>
Linux虚拟化网络之vlan配置实战
查看>>
Linux虚拟化网络之路由转发实战
查看>>
Linux虚拟化网络之链路聚合实战
查看>>
Linux虚拟机NAT模式设置静态IP并且能上网的设置方法
查看>>