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, ...
随机推荐
- 数据结构之Queue | 让我们一块来学习数据结构
前面的两篇文章分别介绍了List和Stack,下面让我们一起来学习Queue 数据结构之List | 让我们一块来学习数据结构 数据结构之Stack | 让我们一块来学习数据结构 队列的概况 队列是一 ...
- 《机器学习Python实现_10_06_集成学习_boosting_gbdt分类实现》
一.利用回归树实现分类 分类也可以用回归树来做,简单说来就是训练与类别数相同的几组回归树,每一组代表一个类别,然后对所有组的输出进行softmax操作将其转换为概率分布,然后再通过交叉熵或者KL一类的 ...
- odoo字段属性列举
罗列一些Odoo中的字段属性,基本包含大部分的属性. 常用字段属性 平平无奇常用字段属性 string:字段的标题,在UI视图标签中使用.它是可选项,如未设置,会通过首字母大写及将空格替换成为下划线来 ...
- 关于csv文件最大行数和最大列数
excel 2003 =2^16 = 65 536 excel 2007 = 2^20 = 1048576 Excel2003,最大行数2^16=65536,最大列数256 Excel2007,最大行 ...
- hdu2594 简单KMP
题意: 给你两个串,问你s1的前缀和s2的后缀最长公共部分是多少. 思路: 根据KMP的匹配形式,我们求出s1的next,然后用s1去匹配s2,输出当匹配到s2的最后一个的时候的匹 ...
- hdu2492 数状数组或者线段树
题意: 给你一些人,每个人有自己的攻击力,输入的顺序就是每个人的顺序,他们之间互相比赛,两个人比赛的条件是必须在他们两个位置之间找到一个人当裁判,这个裁判的攻击力必须在他们两个人之间,问你最 ...
- Win64 驱动内核编程-2.基本框架(安装.通讯.HelloWorld)
驱动安装,通讯,Hello World 开发驱动的简单流程是这样,开发驱动安装程序,开发驱动程序,然后安装程序(或者其他程序)通过通讯给驱动传命令,驱动接到之后进行解析并且执行,然后把执行结果返回. ...
- Python 爬虫之urllib库的使用
urllib库 urllib库是Python中一个最基本的网络请求库.可以模拟浏览器的行为,向指定的服务器发送一个请求,并可以保存服务器返回的数据. urlopen函数: 在Python3的urlli ...
- [LeetCode每日一题]88. 合并两个有序数组
[LeetCode每日一题]88. 合并两个有序数组 问题 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组. 初始化 n ...
- json的解析和生成
相比于xml,json的主要特点是数据小,解析速度快,但是描述性差. java中常见的json解析方法有Gson.Jackson.JSON.simple. 从解析速度上来看,Gson适合解析小数据量, ...