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, ...
随机推荐
- 使用Portainer部署Docker容器实践
一.背景 最近在使用rancher2.5.5部署Redis主从复制的时候,发现rancher会产生很多iptables的规则,这些规则导致我们在部署了rancher的机器上无法使用Redis的主从复制 ...
- HTML5与CSS3新增特性笔记
HTML5 HTML5和HTML事件 注意:行内代码的为H5新增事件 Window事件属性: 针对 window 对象触发的事件(应用到 标签) onafterprint 文档打印之后运行的脚本 on ...
- xman_2019_format(非栈上格式化字符串仅一次利用的爆破)
xman_2019_format(非栈上格式化字符串仅一次利用的爆破) 首先检查一下程序的保护机制 然后用IDA分析一下 存在后门 首先malloc了一片堆空间,读入数据 把刚刚读入的数据当作格式化字 ...
- Python 高级进阶知识(一)
参考 Python学习手册 第四版 1 from vs import import 模块 : 导入的一整个模块(python中模块对应一个py文件) 因为import使用一个变量名引用整个模块对象,所 ...
- C语言小知识(基于Linux)——个人笔记,不定时更新
一.switch case语法,在case中定义变量时,需要在case的有效范围内使用花括号包起来,否则会编译报错: switch (name){ case "zhangSan": ...
- spring boot最新版使用几个坑解决
<groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent ...
- Algorithm(4th) 1.5 union-find算法
问题描述 问题输入是一对整数对,每个整数都代表一个对象,一对整数"p,q"表示 "p与q相连"(具有自反性,传递性,对称性,被归到一个等价类里),要求编写程序来 ...
- UVA11624大火蔓延的迷宫
题意: 给1个n*m的网格,上面有的点能走,有的点不能走(墙),然后有的点是火源,火源和人一样,每次都是上下左右四个方向蔓延,速度一样是1,火也不可以从墙上跨过去,给你人的起点,终点是只要走到 ...
- shell中的引号和转义
引号和转义 Bash 只有一种数据类型,就是字符串.不管用户输入什么数据,Bash 都视为字符串.因此,字符串相关的引号和转义,对 Bash 来说就非常重要. 转义 某些字符在 Bash 里面有特殊含 ...
- (ML邹博)回归
目录 线性回归 高斯分布 最大似然估计 最小二乘法的本质 Logistic回归 工具 梯度下降算法 最大似然估计 线性回归 对于单个变量: y=ax+b 对于多个变量: 使用极大似然估计解释最小二乘法 ...