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, ...
随机推荐
- Sql Server存储过程和游标的配合操作
本段代码主要为了记录存储过程以及游标的使用,防止以后自己忘记 知识点:1.存储过程书写 2.游标书写 3.游标循环更新记录 create proc saletargetas declare @ower ...
- Dynamics CRM安装教程五:ADFS安装配置
ADFS即联合身份认证是一种更加安全的身份验证方式下面开始进行ADFS打开服务器管理器,到添加角色和功能向导下一步到下面界面勾选Active Directory 联合身份认证服务,下一步 默认,下一步 ...
- 【转载】C# get 与set的一些说明
转载 在面向对象编程(OOP)中,是不允许外界直接对类的成员变量直接访问的,既然不能访问,那定义这些成员变量还有什么意义呢?所以C#中就要用set和get方法来访问私有成员变量,它们相当于外界访问对象 ...
- 【DB宝48】JumpServer:多云环境下更好用的堡垒机
目录 一.JumpServer简介 1.1.页面展示 1.2.特色优势 1.3.功能列表 1.4.架构图 1.5.端口说明 1.6.产品组件 二.安装JumpServer 2.1.一键自动部署 2.2 ...
- Object o = new Object()占多少个字节?-对象的内存布局
一.先上答案 这个问题有坑,有两种回答 第一种解释: object实例对象,占16个字节. 第二种解释: Object o:普通对象指针(ordinary object pointer),占4个字节. ...
- Java常用工具+类库合集
1 常用工具 JVisual vm:可以直接通过软件包下载,支持本地以及远程JVM监控 JMH:Java Microbenchmark Harness,测试基准组件,精度可达纳秒级 JITWatch: ...
- php将IP地址转换为真实地址的方法
方法使用示例如下 define('WEB_ROOT',dirname(__FILE__)); echo convertip('111.63.244.69','full'); func converti ...
- 【ElasticSearch】ES线上脏数据处理
ES分组 GET index_user_latest/_search { "aggs": { "group_by_tags": { "terms&qu ...
- 【接口设计】用户积分排行榜功能-Redis实现
一.排行榜功能简介 排行榜功能是一个很普遍的需求.使用 Redis 中有序集合(SortedSet)的特性来实现排行榜是又好又快的选择. 一般排行榜都是有实效性的,比如交通数据流中的路口/路段的车流量 ...
- hdu 1298 字典树 + DFS (模拟T9文本输入)
题意: 给你一些按键顺序,让你输出每一步中概率最大的那个单词,这里的概率计算方 法好好看看别弄错了,一开始就是因为弄错了,各种wa,比如 abc 1 ,ab 1,那么 ab 的概率就是2 ...