当前位置: 首页 > article >正文

12_Linux进程管理命令详解

系列文章导航:01_Linux基础操作CentOS7学习笔记-CSDN博客

文章目录

    • `ps`命令
    • `pstree`命令
    • `top`命令
    • `kill`命令
    • `pgrep`命令
    • `pkill`命令
    • `nice`和`renice`命令
    • `top`命令详解


在Linux系统中,进程管理是一项基本而重要的任务。本文将详细介绍一些常用的进程管理命令,包括pspstreetopkillpgreppkillnicerenice,以及它们的使用方法和选项。

ps命令

ps命令用于查看系统进程信息。常用的选项包括:

  • -aux:显示所有用户启动的进程,包括其他用户的进程。
  • -ajx:以树状结构显示进程及其父子关系。
ps -aux

这个命令可以查看进程的一些详细信息,例如:

  • USER:启动进程的用户身份。
  • PID:进程号。
  • %CPU:CPU的利用率。
  • %MEM:内存的利用率。
  • VSZ:预分配的虚拟内存。
  • RSS:真实分配的内存。
  • TTY:在哪个终端启动的进程。
  • STAT:当前进程的状态,常见状态包括:
    • D:不可中断的睡眠。
    • R:运行中的进程。
    • S:可中断的睡眠。
    • T:停止或被追踪,不参与CPU调度。
    • Z:僵尸进程。
    • d:死掉的进程。
  • START:进程启动时间。
  • TIME:进程运行了多长时间。
  • COMMAND:用来启动进程的命令。
ps                          # 查看进程信息
    ps -elf                 # 显示所有进程,长格式显示更多的进程信息
    ps -ajx                 # 以树状的方式查看进程

pstree命令

pstree命令以树状的方式查看进程及其父子关系。

pstree                      # 以树状的方式查看进程
pstree -aunlp           # 显示所有进程,启用进程用户身份,以数字显示进程号,以长格式显示启动命令,进程ID

这个命令显示所有进程,启用进程用户身份,以数字显示进程号,以长格式显示启动命令,进程ID。

top命令

top命令以动态方式查看进程状态。执行top命令后,可以通过键盘输入以下命令查看特定的信息:

  • u:查询某个用户的进程。
  • P:查询哪个进程占用CPU最高。
  • M:查询哪个进程占用内存最高。
  • k:杀掉进程。
  • d:更改显示频率。

kill命令

kill命令根据进程PID,给进程发信号。

kill PID

这个命令发送正常关闭信号(默认为15信号)。其他常用选项包括:

  • kill -15 PID:发送正常关闭信号。
  • kill -9 PID:发送强制退出信号(不可捕捉,不可屏蔽,不可忽略)。
  • kill -1 PID:让进程重启,并重新加载配置文件(具体的行为取决于服务的开发实现)。
kill                        # 根据进程PID,给进程发信号
    kill PID                # 发送正常关闭信号(默认为15信号)
    kill -15 PID            # 发送正常关闭信号
    kill -9 PID             # 发送强制退出信号(不可捕捉,不可屏蔽,不可忽略)
    kill -1 PID             # 让进程重启,并重新加载配置文件(具体的行为取决于服务的开发实现)
    kill -HUP syslogd       # 让进程重启,并重新加载配置文件(不提倡使用)
    kill -1 syslogd         # 让进程重启,并重新加载配置文件

pgrep命令

pgrep命令以关键字查看进程(模糊匹配)。

pgrep bash

这个命令查看包含bash关键字的进程,仅列出进程PID。其他常用选项包括:

  • pgrep -l bash:查看包含bash关键字的进程,列出进程PID和进程命令名称。

  • pgrep -l -u apache httpd:查找以apache用户身份运行的httpd进程。

  • pgrep -l -u apache httpd: 查找以apache用户身份运行的httpd进程

pkill命令

pkill命令以关键字杀死进程(pgrep + kill的组合体,根据关键字模糊匹配)。

pkill -9 bash

这个命令强制杀死启动命令中包含有bash关键字的进程。其他常用选项包括:

  • pkill -15 -t tty1:以正常方式关闭tty1终端的所有进程。
  • pkill -HUP syslogd:让进程重启,并重新加载配置文件。
  • pkill -1 syslogd:让进程重启,并重新加载配置文件。
  • pkill -9/15 sshd:杀死sshd进程(service sshd restart的替代方法)。

nicerenice命令

nice命令启动某个程序时指定特定的优先级(-20到19,-20最高,19最低)。

nice -19 /bin/bash

这个命令启动某个程序时指定进程的优先级别为19。renice命令用于修改进程优先级别。

renice -20 -p 8054

这个命令更改已经启动的程序的进程优先级别为-20。

nice                        # 启动某个程序时指定特定的优先级(-20到19,-20最高,19最低)
nice -19 /bin/bash          # 启动某个程序时指定进程的优先级别为19
nice --20 /bin/bash         # 启动某个程序时指定进程的优先级别为-20

renice                      # 修改进程优先级别
renice -20 -p 8054          # 更改已经启动的程序的进程优先级别为-20
renice 19 -p 8054           # 更改进程的优先级别为19

top命令详解

top命令是Linux下常用的性能分析工具,可以实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍一下它的使用方法。

首先,我们来看一下top命令的输出结果:

top

输出结果可以分为两部分:统计信息区和进程信息区。

统计信息区包括系统整体的统计信息,如任务队列、CPU状态和内存情况等。具体解释如下:

  • 01:06:48:当前时间
  • up 1:22:系统运行时间,格式为时:分
  • 1 user:当前登录用户数
  • load average: 0.06, 0.60, 0.48:系统负载,即任务队列的平均长度,分别表示1分钟、5分钟和15分钟前到现在的平均值。
  • Tasks: 29 total:进程总数
  • 1 running:正在运行的进程数
  • 28 sleeping:睡眠的进程数
  • 0 stopped:停止的进程数
  • 0 zombie:僵尸进程数
  • Cpu(s)::CPU状态信息
    • 0.3% us:用户空间的指令占用CPU百分比
    • 1.0% sy:内核空间的指令占用CPU百分比
    • 0.0% ni:用户进程空间内改变过优先级的进程占用CPU百分比
    • 98.7% id:空闲CPU百分比
    • 0.0% wa:等待输入输出的CPU时间百分比
    • 0.0% hi:硬中断占用的CPU时间百分比
    • 0.0% si:软中断占用的CPU时间百分比
  • Mem::内存信息
    • 191272k total:物理内存总量
    • 173656k used:使用的物理内存总量
    • 17616k free:空闲内存总量
    • 22052k buffers:用作内核缓存的内存量
  • Swap::交换区信息
    • 192772k total:交换区总量
    • 0k used:使用的交换区总量
    • 192772k free:空闲交换区总量
    • 123988k cached:缓冲的交换区总量

进程信息区显示了各个进程的详细信息,包括PID、用户、优先级、CPU使用情况、内存使用情况等。具体列名和含义如下:

  • PID:进程id
  • USER:进程所有者
  • PR:优先级
  • NI:nice值,负值表示高优先级,正值表示低优先级
  • VIRT:进程使用的虚拟内存总量,单位kb,VIRT=SWAP+RES
  • RES:进程使用的未被换出的物理内存大小,单位kb,RES=CODE+DATA
  • SHR:共享内存大小,单位kb
  • %CPU:上次更新到现在的CPU时间占用百分比
  • %MEM:进程使用的物理内存百分比
  • TIME+:进程使用的CPU时间总计,单位1/100秒
  • COMMAND:命令名/命令行

除了上述信息外,top命令还提供了一些交互命令来更改显示内容和排序方式。常用的交互命令有:

  • f:选择显示的内容,按下f键后会显示列的列表,可以通过上下键选择选项,使用空格键来显示或取消显示,最后按q或esc退出确定。
  • o:改变列的显示顺序,按下o键后,按小写的a-z可以将相应的列向右移动,大写的A-Z可以将相应的列向左移动,最后按回车键确定。
  • FO:根据相应的列进行排序,按下大写的F或O键,然后按字母a-z可以按照相应的列对进程进行排序,按R键可以反转当前的排序。
  • q:退出top程序。
  • 还有其他一些命令,如k终止进程、r重新安排进程优先级等。

除了交互命令外,还可以在top命令执行过程中使用一些命令行参数来控制top的行为,如通过-d指定刷新频率、通过-p指定监控某个进程的状态等。

总结一下,top命令是Linux下的性能分析工具,可以实时查看系统中各个进程的资源占用情况。通过交互命令可以对显示内容进行调整,而命令行参数则可以控制top的行为。它是一个非常方便实用的工具,对于监控系统性能和定位问题非常有帮助。


http://www.kler.cn/news/366659.html

相关文章:

  • 为什么需要MQ?MQ具有哪些作用?你用过哪些MQ产品?请结合过往的项目经验谈谈具体是怎么用的?
  • 网络通信与并发编程(六)线程、进程池与线程池
  • 鸿蒙中富文本编辑与展示
  • Redis 集群 总结
  • 前OpenAI首席技术官为新AI初创公司筹资;我国发布首个应用临床眼科大模型 “伏羲慧眼”|AI日报
  • 基于neo4j的新冠治疗和新冠患者轨迹的知识图谱问答系统
  • python如何通过json以及pickle读写保存数据
  • gin入门教程(9):路由分组与路由版本控制
  • MySQL 存储结构
  • 基于信号分解和多种深度学习结合的上证指数预测模型
  • 基于Multisim的音频放大电路设计与仿真
  • 软体机器人纤维:材料选择有讲究,热拉伸工艺来制造,多种功能应用
  • Spring Boot 配置文件(yml、properties | bootstrap、application)加载顺序
  • Linux基础命令(三)之 重定向操作符,管道符|,tee
  • 1. 路由定义
  • redis高级篇之skiplist跳表 第164节答疑
  • [网络协议篇] TCP协议一
  • git 安装
  • 导出BERT句子模型为ONNX并推理
  • axios直接上传binary
  • PHP 正则表达式 修正符【m s x e ? (?i)】内部修正符 贪婪模式 后向引用 断言【总结篇】
  • 【C++初阶】一文讲通C++内存管理
  • 力扣第 420 场周赛 3324. 出现在屏幕上的字符串序列
  • Chromium127编译指南 Windows篇 - 使用 GN 工具生成构建文件(六)
  • 【二轮征稿启动】第三届环境工程与可持续能源国际会议持续收录优质稿件
  • 代码随想录day11 栈与队列