Linux之进程管理类命令

news2024/11/19 13:21:47

进程管理类命令

ps:查看当前系统进程状态

1)基本语法

语法说明
ps aux查看系统中所有进程
ps -ef可以查看父子进程之间的关系

2)选项说明

选项说明
a列出带有终端的所有用户的进程
x列出当前用户的所有进程,包括没有终端的进程
u面相用户友好的显示风格
-e列出所有进程
-u列出某个用户关联的所有进程
-f显示完整格式的进程列表

3)ps aux:查看进程CPU、内存占用率

[root@Demo-Server ~]# ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  3.1  0.7 128792  7416 ?        Ss   21:24   0:02 /usr/lib/systemd/systemd --s
root          2  0.0  0.0      0     0 ?        S    21:24   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        R    21:24   0:00 [kworker/0:0]
root          4  0.0  0.0      0     0 ?        S<   21:24   0:00 [kworker/0:0H]
root          5  0.0  0.0      0     0 ?        S    21:24   0:00 [kworker/u256:0]
root          6  0.1  0.0      0     0 ?        S    21:24   0:00 [ksoftirqd/0]
root          7  0.0  0.0      0     0 ?        S    21:24   0:00 [migration/0]
root          8  0.0  0.0      0     0 ?        S    21:24   0:00 [rcu_bh]
root          9  1.1  0.0      0     0 ?        R    21:24   0:00 [rcu_sched]
root         10  0.0  0.0      0     0 ?        S<   21:24   0:00 [lru-add-drain]
root         11  0.0  0.0      0     0 ?        S    21:24   0:00 [watchdog/0]
root         13  0.0  0.0      0     0 ?        S    21:24   0:00 [kdevtmpfs]
root         14  0.0  0.0      0     0 ?        S<   21:24   0:00 [netns]
root         15  0.0  0.0      0     0 ?        S    21:24   0:00 [khungtaskd]
root         16  0.0  0.0      0     0 ?        S<   21:24   0:00 [writeback]
  • USER: 该进程是由哪个用户产生的
  • PID: 进程的 ID 号
  • %CPU: 该进程占用 CPU 资源的百分比, 占用越高, 进程越耗费资源
  • %MEM: 该进程占用物理内存的百分比, 占用越高, 进程越耗费资源
  • VSZ: 该进程占用虚拟内存的大小, 单位 KB
  • RSS: 该进程占用实际物理内存的大小, 单位 KB
  • TTY: 该进程是在哪个终端中运行的。 对于 CentOS 来说, tty1 是图形化终端,tty2-tty6 是本地的字符界面终端。 pts/0-255 代表虚拟终端。
  • STAT: 进程状态,常见的状态有:
    • R: 运行状态
    • S: 睡眠状态
    • T: 暂停状态
    • Z: 僵尸状态
    • s: 包含子进程
    • l: 多线程
    • +: 前台显示
  • START: 该进程的启动时间
  • TIME: 该进程占用 CPU 的运算时间, 注意不是系统时间
  • COMMAND: 产生此进程的命令名

4)ps -ef:显示父子进程信息

如果想查看进程的 CPU 占用率和内存占用率, 可以使用 ps aux

如果想查看进程的父进程 ID 可以使用 ps ef

[root@Demo-Server ~]# ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 21:24 ?        00:00:02 /usr/lib/systemd/systemd --switched-root --s
root          2      0  0 21:24 ?        00:00:00 [kthreadd]
root          3      2  0 21:24 ?        00:00:00 [kworker/0:0]
root          4      2  0 21:24 ?        00:00:00 [kworker/0:0H]
root          5      2  0 21:24 ?        00:00:00 [kworker/u256:0]
root          6      2  0 21:24 ?        00:00:00 [ksoftirqd/0]
root          7      2  0 21:24 ?        00:00:00 [migration/0]
root          8      2  0 21:24 ?        00:00:00 [rcu_bh]

  • UID: 用户 ID
  • PID: 进程 ID
  • PPID: 父进程 ID
  • C: CPU 用于计算执行优先级的因子。 数值越大, 表明进程是 CPU 密集型运算,执行优先级会降低; 数值越小, 表明进程是 I/O 密集型运算, 执行优先级会提高
  • STIME: 进程启动的时间
  • TTY: 完整的终端名称
  • TIME: CPU 时间
  • CMD: 启动进程所用的命令和参数

5)ps -Lf pid:查看某个进程的所有内核线程

[root@Demo-Server ~]# ps -Lf 1
UID         PID   PPID    LWP  C NLWP STIME TTY      STAT   TIME CMD
root          1      0      1  0    1 21:24 ?        Ss     0:02 /usr/lib/systemd/systemd --sw

  • UID: 用户 ID
  • PID: 进程 ID
  • PPID: 父进程 ID
  • C: CPU 用于计算执行优先级的因子。 数值越大, 表明进程是 CPU 密集型运算,执行优先级会降低; 数值越小, 表明进程是 I/O 密集型运算, 执行优先级会提高
  • STIME: 进程启动的时间
  • TTY: 完整的终端名称
  • TIME: CPU 时间
  • CMD: 启动进程所用的命令和参数

kill:终止进程

1)基本语法

语法说明
kill [选项] 进程号通过进程号杀死进程
killall 进程名称通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用

2)选项

选项说明
-9表示强迫进程立即执行

3)案例实操

(1)关闭火狐浏览器

[root@Demo-Server ~]# ps -ef | grep firefox
root       2706  2528 22 21:22 ?        00:00:15 /usr/lib64/firefox/firefox
[root@Demo-Server ~]# kill -9 2528

(2)通过进程名称杀死进程

[root@Demo-Server ~]# fillall firefox

pstree:查看树进程

pstree命令以树状图的方式展现进程之间的派生关系,显示效果比较直观。

1)基本语法

pstree [选项]

2)选项说明

选项说明
-p显示进程的PID
-u显示进程的所属用户

3)案例实操

(1)显示进程pid

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6HPkpb5b-1684744231650)(进程管理类命令.assets/image-20221010214143876.png)]

查看一个特定的进程

如果您希望pstree仅显示特定进程的父级和子级信息,请使用-s选项。

pstree -s [PID]

如下,6826是一个java的进程,还可以看到这个进程下面的所有线程列表

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-15Z31KYY-1684744231651)(进程管理类命令.assets/image-20221010214411617.png)]

top:实时监控系统状态

1)语法

top [选项]

2)选项说明

选项说明
-d 秒数指定top命令每隔几秒刷新一下结果,默认是3秒在top命令的交互模式当中可以执行命令
-i使top不显示任何闲置或者僵死进程
-p通过指定监控进程ID来监控某个进程的状态
-c显示整个命令行而不只是显示命令名

3)操作说明

在top命令结果中可以执行下面操作参与交互

操作功能
P以CPU使用率排序,默认就是此项
M以内存的使用率排序
N以PID排序
q退出top

4)查询结果字段解释

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G4ZrOtCd-1684744231652)(进程管理类命令.assets/image-20221010214514087.png)]

(1)第1行信息为任务队列信息

内容说明
12:26:46系统当前时间
up 1 day, 13:32系统的运行时间,本金以运行1天13小时32分
2 users当前登录了2个用户
load average: 0.00, 0.00, 0.00系统在之前 1 分钟, 5 分钟, 15 分钟的平均负 载。 一般认为小于 1 时, 负载较小。 如果大于 1, 系统已经超出负荷

(2)第2行为进程信息

内容说明
Tasks: 95 total系统中的进程总数
1 running正在运行的进程数
94 sleeping睡眠的进程数
0 stopped正在停止的进程数
0 zombie僵尸进程。 如果不是 0, 需要手工检查僵尸进程

(3)第3行为CPU信息

内容说明
us用户空间占用的 CPU 百分比
sy内核空间占用的 CPU 百分比
ni改变过优先级的用户进程占用的 CPU 百分比
id空闲 CPU 百分比
wa等待输入/输出的进程的占用 CPU 百分比
hi硬中断请求服务占用的 CPU 百分比
si软中断请求服务占用的 CPU 百分比
stst( Steal time) 虚拟时间百分比。 就是当有虚拟 机时, 虚拟 CPU 等待实际 CPU 的时间百分比。

(4)第4行为物理内存信息

内容说明
total物理内存的总量, 单位 KB
used已经使用的物理内存数量
free空闲的物理内存重量
buffers作为缓冲的内存数量

(5)第5行为交换分区信息

内容说明
Swap: 524280k total交换分区(虚拟内存) 的总大小
0k used已经使用的交换分区的大小
524280k free空闲交换分区的大小
409280k cached作为缓存的交换分区的大小

(6)进程信息区

统计信息区域的下方显示了各个进程的详细信息,首先来认识一下各列的含义。

  • PID 进程id
  • PPID 父进程id
  • USER Real user name
  • UID 进程所有者的用户id
  • USER 进程所有者的用户名
  • GROUP 进程所有者的组名
  • TTY 启动进程的终端名。不是从终端启动的进程则显示为 ?
  • PR 优先级
  • NI nice值。负值表示高优先级,正值表示低优先级
  • P 最后使用的CPU,仅在多CPU环境下有意义
  • %CPU 上次更新到现在的CPU时间占用百分比
  • TIME 进程使用的CPU时间总计,单位秒
  • TIME+ 进程使用的CPU时间总计,单位1/100秒
  • %MEM 进程使用的物理内存百分比
  • VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
  • SWAP 进程使用的虚拟内存中,被换出的大小,单位kb
  • RES 进程使用的、未被换出的物理内存大小,单位kb,RES=CODE+DATA
  • CODE 可执行代码占用的物理内存大小,单位kb
  • DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
  • SHR 共享内存大小,单位kb
  • nFLT 页面错误次数
  • nDRT 最后一次写入到现在,被修改过的页面数。
  • S 进程状态。
    • D=不可中断的睡眠状态
    • R=运行
    • S=睡眠
    • T=跟踪/停止
    • Z=僵尸进程
  • COMMAND 命令名/命令行

5)2个案例

(1)显示进程1的状态信息

top -p 进程id

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R3o2Wf82-1684744231652)(进程管理类命令.assets/image-20221010214740059.png)]

(2)2500 毫秒刷新一次 TOP 内容,总共 5 次,输出内容存放到 performace.txt 文件中

注:要将内容输出到文件中,必须使用 - b,表示批处理选项

top -b -d 2.5 -n 5 > performace.txt

(3)只显示活动中的进程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DVDcY0EF-1684744231653)(进程管理类命令.assets/image-20221010214924568.png)]

netstat:显示网络状态和端口占用信息

1) 基本语法

命令说明
netstat -anp | grep 进程号查看该进程网络信息
netstat –nlp | grep 端口号查看网络端口号占用情况

2)选项说明

选项功能
-a显示所有正在监听(listen) 和未监听的套接字(socket)
-n拒绝显示别名, 能显示数字的全部转化成数字
-l仅列出在监听的服务状态
-p表示显示哪个进程在调用

3)连接状态详解

  • LISTEN: 侦听来自远方的TCP端口的连接请求
  • SYN-SENT: 再发送连接请求后等待匹配的连接请求
  • SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认
  • ESTABLISHED: 代表一个打开的连接
  • FIN-WAIT-1: 等待远程TCP连接中断请求,或先前的连接中断请求的确认
  • FIN-WAIT-2: 从远程TCP等待连接中断请求
  • CLOSE-WAIT: 等待从本地用户发来的连接中断请求
  • CLOSING: 等待远程TCP对连接中断的确认
  • LAST-ACK: 等待原来的发向远程TCP的连接中断请求的确认
  • TIME-WAIT: 等待足够的时间以确保远程TCP接收到连接中断请求的确认
  • CLOSED: 没有任何连接状态

4) 案例实操

(1) 通过进程号查看sshd进程的网络信息

[root@Demo-Server ~]# netstat -anp | grep sshd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1618/sshd     
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      3639/sshd: root@pts
tcp        0      0 192.168.11.132:22       192.168.11.1:64863      ESTABLISHED 3639/sshd: root@pts
tcp        0      0 192.168.11.132:22       192.168.11.1:64864      ESTABLISHED 3653/sshd: root@not
tcp6       0      0 :::22                   :::*                    LISTEN      1618/sshd     
tcp6       0      0 ::1:6010                :::*                    LISTEN      3639/sshd: root@pts
unix  3      [ ]         STREAM     CONNECTED     36655    1618/sshd
unix  2      [ ]         DGRAM                    62051    3639/sshd: root@pts
unix  2      [ ]         DGRAM                    63080    3653/sshd: root@not

(2) 查看22端口号是否被占用

[root@Demo-Server ~]# netstat -nltp | grep 22
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      2398/dnsmasq  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1618/sshd     
tcp6       0      0 :::22                   :::*                    LISTEN      1618/sshd    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/562826.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言的一些杂记6

实现矩阵序号转置的三种方式 for (i 0; i < row * col; i)t[i / row][i % row] m[i % row][i / row];for (i 0; i < row; i)for (j 0; j < col; j)t[j][i] m[i][j];for (i 0; i < row; i)for (j 0; j < col; j)*(*(t j) i) *(*(m i) j); 变相数组 …

关于 arduino 中的 map(x, a, b,c,d)函数

函数名称&#xff1a;map() 包含形参&#xff1a; value&#xff1a;需要映射的值fromLow&#xff1a;输入值的最小值fromHigh&#xff1a;输入值的最大值toLow&#xff1a;输出值的最小值toHigh&#xff1a;输出值的最大值 功能&#xff1a;将一个值从一个范围映射到另一个…

【环境安装】Linux环境中docker安装redis

一、找到一个合适的docker的redis的版本 可以去docker hub中去找一下 https://link.juejin.cn/?targethttps%3A%2F%2Fhub.docker.com%2F_%2Fredis%3Ftab%3Dtags 二、使用docker安装redis 我这里安装了具体的某个版本 docker pull redis // 下载最新版Redis镜像 (等同于 : d…

UAS协议说明

1 概述 UAS(USB Attached SCSI)是一种位于SCSI协议框架下传输层的一种协议&#xff0c;其作用是通过基于USB的应用层协议约定&#xff0c;将SCSI的协议数据(Protocol Data Unit)用USB进行封装&#xff0c;从而实现使用USB物理连接进行SCSI协议通信的方式。 UAS实际上定义了两…

wireshark网络抓包详解

一、简介 Wireshark是一款非常流行的网络封包分析软件&#xff0c;可以截取各种网络数据包&#xff0c;并显示数据包详细信息。 为了安全考虑&#xff0c;wireshark只能查看封包&#xff0c;而不能修改封包的内容&#xff0c;或者发送封包。 wireshark能获取HTTP&#xff0c;也…

【Android】(最新)跑马灯文字水平滚动(79/100)

先上效果&#xff1a; Android系统中TextView实现跑马灯效果&#xff0c;必须具备以下几个条件&#xff1a; android:singleLine“true”android:ellipsize“marquee”android:marqueeRepeatLimit“marquee_forever”TextView必须单行显示&#xff0c;即内容必须超出TextView…

Jetpack Compose 实现了一个丝滑流畅的页面展开和关闭的效果动画

Jetpack Compose 将动画实现的门槛降低了&#xff0c;不过Compose目前还不支持共享元素过渡。 (上篇文章Jetpack Compose开发的本地笔记本)的动画效果的实现 转跳前的准备工作 定义State枚举类来表示页面的三种状态: Closing(关闭状态) Closed(关闭完成状态) Opening(展开状…

找不到vcruntime140.dll,无法继续执行代码?多种解决方法解析

找不到vcruntime140.dll,无法继续执行代码&#xff1f;当你在尝试运行某个程序时&#xff0c;突然弹出一条错误提示框&#xff0c;告诉你无法继续执行代码&#xff0c;因为找不到vcruntime140.dll。这个问题很常见&#xff0c;但是它可能会让你感到困惑和疑惑。这篇文章将详细介…

chatgpt赋能Python-python_numpy遍历

Python NumPy遍历&#xff1a;使用高效的方式为数据科学家节省时间和精力 Python语言在数据科学领域中的地位越来越重要&#xff0c;并成为了数据科学家的首选语言之一。在解决数据问题时&#xff0c;NumPy模块是Python程序员经常使用的一个重要库。NumPy提供了快速的数组操作…

【大数据实训】—Hadoop开发环境搭建(一)

【大数据实训】—Hadoop开发环境搭建&#xff08;一&#xff09; 第一关、任务描述 本关任务&#xff1a;配置JavaJDK。 相关知识 配置开发环境是我们学习一门IT技术的第一步&#xff0c;Hadoop是基于Java开发的&#xff0c;所以我们学习Hadoop之前需要在Linux系统中配置Jav…

Flowable钉钉对接005-完成钉钉任务

企业中有自己的业务系统&#xff0c;审批都在业务系统中审批&#xff0c;如何结合移动办公的开放平台实现统一审批至关重要。 场景很简单&#xff0c;自己的系统中可以审批&#xff0c;钉钉上也可以审批&#xff0c;使用H5来适配&#xff0c;统一待办任务 统一待办审批 目标&am…

python获取tx弹幕数据并制作词云图

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 知识点介绍: 爬虫基本思路流程 requests模块的使用 pandas读取表格数据 环境介绍: 开发环境: python 3.8 运行代码 pycharm 2022.3 辅助敲代码 模块使用&#xff1a; requests >>> pip install requests pa…

​年轻人的情绪,都藏在知乎的短故事里

“谢邀&#xff0c;与世界分享我刚编的故事。” 这是一句在知乎被调侃的老梗。它源自于知乎上有众多隐匿的大佬&#xff0c;他们经历过各种奇闻轶事&#xff0c;也乐于分享传奇的人生经历&#xff0c;而这其间&#xff0c;很多真假难辨的事迹&#xff0c;也被很多用户笑称可以当…

这几款好用的软件分享给你

软件一&#xff1a;Handbrake Handbrake是一款免费开源的视频转码软件&#xff0c;适用于Mac、Windows和Linux系统。它可以将几乎所有视频格式转换为其他格式&#xff0c;包括MP4、MKV、AVI等等。作为一个强大的视频编码器&#xff0c;它可以压缩视频大小&#xff0c;并提供多…

Android Qcom USB Driver学习(十一)

该系列文章总目录链接与各部分简介&#xff1a; Android Qcom USB Driver学习(零) 基于TI的Firmware Update固件升级的流程分析usb appliction layers的数据 USB Protocol Package ①/② map to check password correct Package Format: Byte[0] Report Id Byte[1] Valid L…

玩转SpringCloud Alibaba,看阿里大佬的笔记是真香

大家都知道&#xff0c;SpringCloudAlibaba 风靡 Java 开发行业&#xff0c;各个公司都在用这套技术&#xff0c;所以咱们 Java 工程师不管是日常工作或是出去面试&#xff0c;都会用到或者被问到关于SpringCloudAlibaba的应用以及底层原理 所以说&#xff0c;小编下面带来一份…

用于视频编辑和渲染的最佳GPU是什么?

购买新的图形卡&#xff08;GPU&#xff09;可能很困难&#xff0c;尤其是如果涉及您所不熟悉的所有技术问题。 显卡市场上的大多数消费者只需要了解显卡在自己喜欢的游戏中的性能&#xff0c;并确定购买决定即可。但是&#xff0c;如果您想购买GPU进行视频编辑或3D渲染&#…

网络安全工程师考证指南

已经到2023年了&#xff0c;那么信息安全类证书最有前途的有哪些呢&#xff1f;今天和大家一起聊聊这个话题&#xff01; 1.CISP(国家登记的信息安全专业人员) 就CISP而言&#xff0c;安全实践者基本耳闻&#xff0c;算是国内权威认证&#xff0c;毕竟有政府背景为认证做背书&…

微服务环境搭建(spring cloud Alibaba)(一)

模块: 商品模块, 订单模块, 用户模块 一. 1. 技术选型以及准备工作 maven : 3.8.8版本 数据库: MySQL 8.0.32 持久层: springData , jpa 其他java环境 : SpringCloud Alibaba 技术栈 2. 模块 设计 springcloud- alibaba 父工程 shop - common 公共模块 [ 实体类 ] sh…

【技术】多端能力服务统一是一种关键的技术和架构

多端能力服务统一是一种关键的技术和服务架构&#xff0c;旨在为不同终端设备提供一致的用户体验和功能。通过采用前端和后端技术的组合&#xff0c;如响应式 Web 设计、PWA、跨平台移动应用开发框架、RESTful API、GraphQL、WebSocket、Serverless 架构和微服务架构&#xff0…