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

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         # 启动某个程序时指定进程的优先级别为-20renice                      # 修改进程优先级别
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.mrgr.cn/news/57376.html

相关文章:

  • 如何减小 Maven 项目生成的 JAR 包体积 提升运维效率
  • 【iOS】YYModel
  • [前端] ✨【如何用课程设计提升工程能力?】✨笔记
  • ProteinMPNN中负对数似然损失函数解读
  • LeetCode53:最大子数组和
  • 萤石云服务支持云端视频AI自动剪辑生成
  • 使用Dask在多块AMD GPU上加速XGBoost
  • 深度学习(五):语音处理领域的创新引擎(5/10)
  • 大模型的特点、重要概念及工作方式详解
  • Leetcode 875 KoKo Eats banana
  • 问:数据库,脏读、幻读、不可重复读~
  • 分布式系统集群中节点管理
  • C++ -stack、queue
  • Golang | Leetcode Golang题解之第503题下一个更大元素II
  • 如何在 Debian VPS 上使用 mod_wsgi 和 Apache 运行 Django,并使用 virtualenv Python 环境
  • 【thinkphp8】00007 内置服务器,切换php版本
  • 13_Linux开机流程:以Red Hat Enterprise Linux 7(RHEL 7)为例
  • PTA数据库编程练习合集
  • PostgreSQL(十三)pgcrypto 扩展实现 AES、PGP 加密,并自定义存储过程
  • 10.21-10.23
  • 偷懒总结篇|贪心算法|动态规划|单调栈|图论
  • iPhone图片/照片/视频复制到win10系统的简单方法 - 照片导出
  • R语言统计分析——置换检验3
  • CMOS 图像传感器:像素寻址与信号处理
  • 【ShuQiHere】如何在 Linux 上虚拟化 macOS Catalina
  • 生成式AI的新篇章:从快思维到慢思维