Linux_进程管理相关命令
一、进程管理命令
1、ps —— 进程查看命令
1️⃣:ps(process state)命令用于列出当前的进程
2️⃣:可以显示详细的进程信息,包括:
- 用户识别符(UID),它确定进程的特权
- 唯一进程识别符(PID)
- CPU和已经花费的实时时间
- 进程在各种位置上分配的内存数量
- 进程的位置STDOUT,称为控制终端
- 当前的进程状态
3️⃣:ps支持三种选项格式
- UNIX(POSIX)选项,可以分组但必须以连字符开头
- BSD 选项,可以分组但不可与连字符同用
- GNU 长选项,以双连字符开头
4️⃣:ps(process state),显示进程信息。注意事项:
- 加了[]中括号的,表示内核线程,通常位于顶部
- exiting或defunct表示僵尸进程
5️⃣:常用选项:
- a //显示所有与终端有关的进程
- u //显示进程是由哪个用户启动的
- x //显示所有与终端无关的进程
- -e //显示所有进程,与-A效果相同
- -l //以长格式显示
- -F //显示更详细的完整格式的进程信息
- -f //显示更详细的完整格式的进程信息
- -H //以进程层级格式显示进程相关信息
- -o //根据自己的需要选择要显示的字段
6️⃣:ps相关参数结果解析
- ps aux (不能加 -)
- VSZ //Virtual memory SiZe,虚拟内存集
- RSS //ReSident Size,常驻内存集
- STAT //进程状态
- TIME //运行时的累积时长
- ps
- NI //nice值
- PRI //优先级
- PSR //进程运行在哪个CPU核心上
- RTPTRIO //实时优先级
- C //运行的CPU编号
- STIME //进程的启动时间
- VSZ //Virtual memory SiZe,虚拟内存集
- RSS //ReSident Size,常驻内存集
- STAT //进程状态
- TIME //运行时的累积时长
7️⃣:示例
[root@localhost ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.9 0.6 178784 13560 ? Ss 09:45 0:04 /usr/lib/systemd/systemd --switched-root --system --deserialize 17
root 2 0.0 0.0 0 0 ? S 09:45 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I< 09:45 0:00 [rcu_gp]
root 4 0.0 0.0 0 0 ? I< 09:45 0:00 [rcu_par_gp]
root 5 0.0 0.0 0 0 ? I 09:45 0:00 [kworker/0:0-xfs-cil/dm-0]
root 6 0.0 0.0 0 0 ? I< 09:45 0:00 [kworker/0:0H-kblockd]
root 8 0.0 0.0 0 0 ? I< 09:45 0:00 [mm_percpu_wq]
root 9 0.0 0.0 0 0 ? S 09:45 0:00 [ksoftirqd/0]
root 10 0.0 0.0 0 0 ? I 09:45 0:00 [rcu_sched]
root 11 0.0 0.0 0 0 ? S 09:45 0:00 [migration/0]
root 12 0.0 0.0 0 0 ? S 09:45 0:00 [watchdog/0]
root 13 0.0 0.0 0 0 ? S 09:45 0:00 [cpuhp/0]
root 14 0.0 0.0 0 0 ? S 09:45 0:00 [cpuhp/1]
........... [root@localhost ~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 09:45 ? 00:00:04 /usr/lib/systemd/systemd --switched-root --system --deserialize 17
root 2 0 0 09:45 ? 00:00:00 [kthreadd]
root 3 2 0 09:45 ? 00:00:00 [rcu_gp]
root 4 2 0 09:45 ? 00:00:00 [rcu_par_gp]
root 5 2 0 09:45 ? 00:00:00 [kworker/0:0-events_power_efficient]
root 6 2 0 09:45 ? 00:00:00 [kworker/0:0H-kblockd]
root 8 2 0 09:45 ? 00:00:00 [mm_percpu_wq]
root 9 2 0 09:45 ? 00:00:00 [ksoftirqd/0]
root 10 2 0 09:45 ? 00:00:00 [rcu_sched]
root 11 2 0 09:45 ? 00:00:00 [migration/0]
root 12 2 0 09:45 ? 00:00:00 [watchdog/0]
root 13 2 0 09:45 ? 00:00:00 [cpuhp/0]
root 14 2 0 09:45 ? 00:00:00 [cpuhp/1]
.......... [root@localhost ~]# ps -elf
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
4 S root 1 0 0 80 0 - 44696 do_epo 09:45 ? 00:00:04 /usr/lib/systemd/systemd --switched-root --system --deserialize 17
1 S root 2 0 0 80 0 - 0 - 09:45 ? 00:00:00 [kthreadd]
1 I root 3 2 0 60 -20 - 0 - 09:45 ? 00:00:00 [rcu_gp]
1 I root 4 2 0 60 -20 - 0 - 09:45 ? 00:00:00 [rcu_par_gp]
1 I root 5 2 0 80 0 - 0 - 09:45 ? 00:00:00 [kworker/0:0-events_power_efficient]
1 I root 6 2 0 60 -20 - 0 - 09:45 ? 00:00:00 [kworker/0:0H-kblockd]
1 I root 8 2 0 60 -20 - 0 - 09:45 ? 00:00:00 [mm_percpu_wq]
1 S root 9 2 0 80 0 - 0 - 09:45 ? 00:00:00 [ksoftirqd/0]
1 I root 10 2 0 80 0 - 0 - 09:45 ? 00:00:00 [rcu_sched]
1 S root 11 2 0 -40 - - 0 - 09:45 ? 00:00:00 [migration/0]
5 S root 12 2 0 -40 - - 0 - 09:45 ? 00:00:00 [watchdog/0]
........... [root@localhost ~]# ps -o pid,command,ni
PID COMMAND NI
2084 -bash 0
2111 ps -o pid,command,ni 0 [root@localhost ~]# ps -o pid,command,ni,ppid,c
PID COMMAND NI PPID C
2084 -bash 0 2083 0
2113 ps -o pid,command,ni,ppid,c 0 2084 0
2、pstree —— 查看进程树命令
1️⃣:示例
[root@localhost ~]# pstree
systemd─┬─NetworkManager───2*[{NetworkManager}]
├─VGAuthService
├─anacron
├─atd
├─auditd─┬─sedispatch
│ └─2*[{auditd}]
├─crond
├─dbus-daemon───{dbus-daemon}
├─dhclient
├─irqbalance───{irqbalance}
├─login───bash
├─lsmd
├─mcelog
├─polkitd───5*[{polkitd}]
├─rhsmcertd
├─rngd───{rngd}
├─rsyslogd───2*[{rsyslogd}]
├─smartd
├─sshd─┬─2*[sshd───sshd───bash]
│ └─sshd───sshd───bash───pstree
├─sssd─┬─sssd_be
│ └─sssd_nss
├─systemd───(sd-pam)
├─systemd-journal
├─systemd-logind
├─systemd-udevd
├─tuned───3*[{tuned}]
└─vmtoolsd───{vmtoolsd}
3、pgrep —— 过滤显示想要的进程;在当前系统中找符合某些特性的进程;只显示进程号
1️⃣:示例
[root@localhost ~]# pgrep sshd
1083
1686
1690
1855
1859
2078
2083
[root@localhost ~]# ps -ef | grep sshd
root 1083 1 0 09:45 ? 00:00:00 /usr/sbin/sshd
root 1686 1083 0 09:47 ? 00:00:00 sshd: root [priv]
root 1690 1686 0 09:47 ? 00:00:00 sshd: root@pts/0
root 1855 1083 0 09:49 ? 00:00:00 sshd: root [priv]
root 1859 1855 0 09:49 ? 00:00:00 sshd: root@pts/1
root 2078 1083 0 09:51 ? 00:00:00 sshd: root [priv]
root 2083 2078 0 09:52 ? 00:00:00 sshd: root@pts/2
root 2198 2084 0 10:04 pts/2 00:00:00 grep --color=auto sshd
4、pidof —— 根据进程名查找其PID号
1️⃣:演示
[root@localhost ~]# pidof sshd
2083 2078 1859 1855 1690 1686 1083
[root@localhost ~]# ps -ef | grep sshd
root 1083 1 0 09:45 ? 00:00:00 /usr/sbin/sshd
root 1686 1083 0 09:47 ? 00:00:00 sshd: root [priv]
root 1690 1686 0 09:47 ? 00:00:00 sshd: root@pts/0
root 1855 1083 0 09:49 ? 00:00:00 sshd: root [priv]
root 1859 1855 0 09:49 ? 00:00:00 sshd: root@pts/1
root 2078 1083 0 09:51 ? 00:00:00 sshd: root [priv]
root 2083 2078 0 09:52 ? 00:00:00 sshd: root@pts/2
root 2204 2084 0 10:06 pts/2 00:00:00 grep --color=auto sshd
5、vmstat —— 虚拟内存状态查看命令
1️⃣:语法:vmstat [options] [delay [count]]
示例:
- vmstat 2 //表示每2秒刷新一次
- vmstat 2 5 //表示每2秒刷新一次,刷新5次后退出
2️⃣:常用选项:
- -s //显示内存的统计数据
3️⃣:演示
[root@localhost ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 1434576 3196 306752 0 0 84 20 74 107 1 1 98 1 0
4️⃣:vmstat相关参数解释
procs:
r(running) //表示等待运行的队列长度,也即等待运行的进程的个数
b(block) //表示阻塞队列长度,也即处于不可中断睡眠态的进程个数
memory:
swpd //交换内存的使用总量
free //空闲物理内存总量
buffer //用于buffer的内存总量
cache //用于cache的内存总量
swap:
si(swap in) //表示从物理内存有多少页面换进swap,也即数据进入swap的数据速率(kb/s)
so(swap out) //表示从swap有多少页面换进物理内存,也即数据离开swap的数据速率(kb/s)
io:
bi(block in) //表示磁盘块有多少个被调入内存中,也即从块设备读入数据到系统的速率(kb/s)
bo(block out) //表示有多少个磁盘块从内存中被同步到硬盘上去了,也即保存数据至块设备的速率(kb/s)
system:
in( interrupts) //表示中断的个数,也即中断速率(kb/s)
cs(context switch) //表示上下文切换的次数,也即进程切换速率(kb/s)
CPU:
us //表示用户空间
sy //表示内核空间
id //表示空闲百分比
wa //表示等待IO完成所占据的时间百分比
st //表示steal,被虚拟化技术偷走的时间(比如运行虚拟机)
Linux_进程管理相关命令的更多相关文章
- linux进程管理相关命令
ps ps aux ps -ef | grep -E "supervisor|PPID" top 可以按一定规则对top的结果进行排序 # 监控单一进程 top -p pid ...
- 熟练使用Linux进程管理类命令
进程管理类命令 – ps命令 ps命令主要用于查看系统的进程 该命令的语法为:ps [参数] ps命令的常用参数选项有: -a:显示当前控制终端的进程(包含其他用户的). -u:显示进程的用户名和启动 ...
- linux进程管理常用命令
初始化进程在centos5,6,7中的发展: 在centos5中使用sysv init 是一个shell脚本,依靠依次执行脚本中的命令启动系统,只能串行执行. 在centos6中使用upstart,也 ...
- linux 进程管理相关内容
简介 当我们运行程序时,Linux会为程序创建一个特殊的环境,该环境包含程序运行需要的所有资源,以保证程序能够独立运行,不受其他程序的干扰.这个特殊的环境就称为进程. 每个 Linux 命令都与系统中 ...
- Linux快速入门教程-进程管理ipcs命令学习
使用Linux系统必备的技能之一就是Linux进程管理,系统运行的过程正是无数进程在运行的过程.这些进程的运行需要占用系统的内存等资源,做好系统进程的管理,对于我们合理分配.使用系统资源有非常大的意义 ...
- sql server作业管理查看/进程管理查看命令
一.作业管理 (1) select * from msdb.dbo.sysjobhistory 可以查看作业的历史记录 (2) select * from msdb.dbo.sysjobs 查 ...
- [Linux]——进程管理相关
一些概念 程序program:通常以二进制程序放置在存储媒介中,以物理文件形式存在 进程process:程序通过用户执行被触发后,执行者的权限与属性.程序的代码和所需数据会被加载到内存中,OS给予这个 ...
- Linux服务器管理: 系统的进程管理ps命令
源码包:2015-06-30 12:11:25 首先我们可以通过网络去下载相应的源码包:我们以apache为例: [root@localhostA1 opt]# wget http://archive ...
- mysql命令大全用户管理相关命令
1.登陆 mysql>mysql -uJDev -p 2.用户管理 mysql>use mysql; 3.查看有哪些登陆用户 mysql> select host,user, ...
随机推荐
- Linux(六):系统运维常用命令
实际的生产环境下,不论是研发还是运维,或多或少的得面对在linux上定位问题这个关卡,这里介绍一下linux环境下一些状态查看常用的命令. 系统资源监控 总体资源占用情况查看 命令:top 像wind ...
- 【设计模式】- 生成器模式(Builder)
生成器模式 建造者模式.Builder 生成器模式 也叫建造者模式,可以理解成可以分步骤创建一个复杂的对象.在该模式中允许你使用相同的创建代码生成不同类型和形式的对象. 生成器的结构模式 生成器(Bu ...
- spieces-in-pieces动画编辑器
前言: 制作灵感来源于 http://species-in-pieces.com/ 这个网站,此网站作者是来自阿姆斯特丹的设计师 Bryan James,其借用纯CSS技术表现出30种濒危动物的碎片拼 ...
- Julia语言程序基础
Julia-lang 新兴的Julia语言,Julia 一开始就是为高性能而设计的. Julia 程序通过 LLVM 编译成高效的多平台机器码. Julia中文社区: https://cn.julia ...
- Java基础 Java-IO流 深入浅出
建议阅读 重要性由高到低 Java基础-3 吃透Java IO:字节流.字符流.缓冲流 廖雪峰Java IO Java-IO流 JAVA设计模式初探之装饰者模式 为什么我觉得 Java 的 IO 很复 ...
- manjaro配置攻略
2021.1.30 更新 1 概述 本文主要讲述了新安装的Manjaro一些常用的配置,包括源.常用软件.快捷键.终端以及一些效率工具的配置. 2 pacman源 首先是pacman源的选择: sud ...
- day-25-类的继承顺序-父类对子类的约束-多态-队列和栈
一.类的继承顺序 只要继承object类就是新式类 不继承object类的都是经典类 在python3 中所有的类都继承object类,都是新式类 在python2 中不继承object的类都是经典类 ...
- Python Basics with numpy (optional)
Python Basics with Numpy (optional assignment) Welcome to your first assignment. This exercise gives ...
- ES系列(四):http请求分发框架解析
上一篇讲解了es的网络通信模块实现过程,大致明白其工作原理.再总结一下,就是基于netty编程范式,形成es通信基础.从而,最终我们得到几个重要的handler: Netty4HttpPipelini ...
- 漫画 | 公司测试因提Bug不规范,锒铛入狱~
互联网人罪状系列 1.上班第一天,前端把后端告上县衙,还列了 5 宗罪 2. 程序员状告产品经理八大罪状 (上) 3.程序员状告产品经理八大罪状(下) 开发人员与测试人员的关系,就如同程序员与产品经理 ...