1 进程管理简介

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础

2 常用命令

2.1 pstree

2.1.1 功能描述

树形结构展示进程树

2.1.2 命令的安装

首先确保你安装了psmisc.

[root@localhost ~]# yum install psmisc -y                                 

2.1.3 命令使用语法

       pstree [-a, --arguments] [-c, --compact] [-h, --highlight-all, -Hpid, --highlight-pid pid]
[-g] --show-pgids] [-l, --long] [-n, --numeric-sort] [-N, --ns-sortns [-p, --show-pids]
[-s, --show-parents] [-S, --ns-changes] [-u, --uid-changes] [-Z, --security-context]
[-A, --ascii, -G, --vt100, -U, --unicode] [pid, user]
pstree -V, --version

2.1.4 主要参数简介

选项:
-h:高亮显示当前的进程及其祖先
-H:高亮显示指定进程及其祖先
-p:显示进程的pid
-s:显示特定进程的直系进程
-u:指定用户

2.1.5 命令的使用样例

查看指定用户的进程信息带进程号

[root@localhost ~]# pstree -pu zhaojiedi1992
bash()─┬─vim()
└─vim()

查看当前进程的直系进程

[root@localhost ~]# pstree -ps $$                              # $$就是当前进程号。
systemd()───sshd()───sshd()───bash()───pstree()

2.2 ps

2.2.1 功能描述

显示进程信息

2.2.2 命令使用语法

语法 ps [options]

这个命令比较特殊,支持了三种风格的命令使用

  • Unix选项:使用1个-
  • BSD选项:选项不使用-
  • GNU长选项:选项使用2个-

我个人是对这个命令是习惯BSD风格的,也就是习惯使用ps aux 而不是ps -ef。 这个命令经常配合grep使用。

2.2.3 主要参数和栏位信息简介

参数:
a:列出终端相关的,如果想列出所有进程需要配合x
u:显示面向用户的格式
x:列出终端先关的,如果列出所有进程需要配合a
f :显示进程树,这个显示效果跟pstree的效果差远啦
k :根据指定指标去排序
--sort: 根据指定指标去排序,%cpu以cpu占用排序,-%cpu反序排
o :设置显示的列
L :显示支持的属性列表
-C :指定命令,多个命令用,分割
-L :显示线程
-u : 指定有效用户ID或名称
-U : 指定真正的用户ID或名称
-p : 显示指定pid进程
--pid :显示属于pid的子进程
--forest:树型显示
列:
USER :用户
PID:进程id
%CPU:cpu占用率
%MEM:内存占用率
VSZ:虚拟内存大小
RSS:真实内存大小
TTY:终端
STAT:状态
START:开始时间
TIME:占用cpu时间
COMMAND:命令
PRI:优先级
RTPRIO:实时优先级
PSR:当前进程对应的处理器
NI:进程的nice值
进程状态:
D:不可终端睡眠
R:运行或者在运行队列中
S:终端睡眠(等待一个时间完成)
T:被作业控制信号停止
t:被调试追踪停止
W:内存换页中
X:死亡了
Z:蜘蛛进程
<:高优先级的
N:第优先级的
L:有页面锁定在内存
s:是一个会话的领导者
l:是一个多线程
+:是一个前台进程

2.2.4 命令的使用样例

查看所有进程信息

[root@localhost ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 0.0 0.1 ? Ss : : /usr/lib/systemd/systemd --switched-roo
-------------------------------------下面的行省去了--------------------------------------------------------

查看所有进程的命令,进程id,cpu占用,内存占用信息 ,并按照cpu占用排序

[root@localhost ~]# ps axo cmd,pid,%cpu,%mem k %cpu

查看指定终端的进程

[root@localhost ~]# ps -t pts/

有效用户和真正用户的区别

[zhaojiedi1992@localhost ~]$ passwd                  # 在另一个终端上执行, 别修改,就让这个命令卡在这个界面
Changing password for user zhaojiedi1992.
Changing password for zhaojiedi1992.
(current) UNIX password: [root@localhost ~]# ps -u zhaojiedi1992 # 查看有效用户为zhaojiedi1992的进程
PID TTY TIME CMD
pts/ :: bash
pts/ :: vim
pts/ :: vim
[root@localhost ~]# ps -U zhaojiedi1992 # 查看真正用户为zhaojiedi1992的进程
PID TTY TIME CMD
pts/ :: bash
pts/ :: vim
pts/ :: vim
15749 pts/3    00:00:00 passwd
我们可以看出来,用户zhaojiedi1992使用了passwd这个命令,这个命令有suig的,运行的时候是以root运行的,所以在有效用户上查看没有passwd的,但是使用真正用户可以看到的

2.3 renice,nice,chrt

2.3.1 功能描述

  • renice:调整优先级
  • nice:指定优先级
  • chrt:改变实时优先级

2.3.2 命令使用样例

[root@localhost ~]$ renice  -n                     # 修改指定的进程的nice值
[root@localhost ~]$ nice -n - ping www.baidu.com # 在运行命令的时候就指定nice值 
[zhaojiedi1992@localhost ~]$ chrt -p $$ # 调整实时优先级, 这个实时优先级不是想怎么该就怎么该的
chrt: unsupported priority value for the policy: : see --max for valid range
[zhaojiedi1992@localhost ~]$ chrt --max # 查看可以调整的范围
SCHED_OTHER min/max priority : /
SCHED_FIFO min/max priority : /
SCHED_RR min/max priority : /
SCHED_BATCH min/max priority : /
SCHED_IDLE min/max priority : /
SCHED_DEADLINE min/max priority : /

2.4 pgrep,pkill

2.4.1 功能描述

  • pgrep:查找进程
  • pkill:发送信号给进程,多数使用9信号

2.4.3 命令使用语法

pgrep [options] pattern
pkill [options] pattern

2.4.4 主要参数简介

选项
-u:生效者
-U:真正发起者
-t:指定终端
-l:显示进程名(pgrep可用)
-a:显示完整格式的进程名(pgrep可用)
-P:显示指定进程的子进程

2.4.5 命令使用样例

查看/dev/pts/3终端下的完整进程名,并全部杀掉他们

[root@localhost ~]# pgrep -t pts/ -a             # 查看pts/4终端的完整进程信息
-bash
su - zhaojiedi1992
-bash
vim a.txt
[root@localhost ~]# pkill -t pts/4 # 杀掉pts/4终端的进程

2.5 pidof

2.5.1 功能描述

查找运行进程的pid

2.5.2命令使用样例

[root@localhost ~]# pidof bash
 

2.6 uptime

2.6.1 功能描述

获取系统运行时间和基础的负载信息

2.6.2命令使用样例

[root@localhost ~]# uptime
:: up :, users, load average: 0.00, 0.01, 0.05

2.6 top

2.6.1 功能描述

动态显示进程状态信息,ps是一个静态的

2.6.4 栏位信息简介

cpu相关:
us:用户空间运行时间(user space)
sy:内核空间运行时间(system )
ni:nice过的进程运行时间(nice)
id:空闲进程时间(idle)
wa:等待io时间(wait)
hi:硬中断(hardware interrupts)
si:软中断(software interrupts)
st:虚拟机偷走的时间(stolen time) 内存相关:
total:总内存
free:空闲内存
used:使用内存
buff/cache:buffer/cache内存
排序:
P:按照cpu占比排序
M:按照内存占比排序
T:按照占据cpu时间排序 首部信息显示:
l:uptime信息
t:tasks及其cpu信息
cpu分别显示:(数字)
m:内存信息显示 命令:
s:修改刷新间隔
k:终止指定进程
w:保存当前设置到~/.toprc文件,下次使用top采用这个设置
q:退出

2.6.5 命令使用样例

[root@localhost ~]# top
top - :: up :, users, load average: 0.00, 0.01, 0.05
Tasks: total, running, sleeping, stopped, zombie
%Cpu(s): 0.1 us, 0.0 sy, 0.0 ni, 99.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : total, free, used, buff/cache
KiB Swap: total, free, used. avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
root S 0.3 0.2 :02.42 vmtoolsd
root R 0.3 0.1 :00.13 top
root S 0.0 0.2 :08.91 systemd
root S 0.0 0.0 :00.07 kthreadd
root S 0.0 0.0 :00.02 ksoftirqd/

2.7 htop

2.7.1 功能描述

是一个加强版本的top命令,比较炫。

2.7.2 命令的安装

[root@localhost ~]# yum install htop -y                          # 安装htop,这个软件是在epel源中的。

2.7.4 主要参数简介

选项:
-d:指定延迟
-u:仅显示指定用户的进程
-s:以指定字段进行排序 子命令:
s:根据指定进程的系统调用
l:显示选定进程打开的文件列表
a:将选定的进程绑定到指定的cpu上
t:显示进程树 功能键:
F1:帮助
F2:设置
F3:查找
F4:过滤
F5:树显示
F6:排序
F7:减小nice
F8:增加nice
F9:kill进程
F10:退出,q也可以退出的

2.7.5 命令使用样例

[root@localhost yum.repos.d]# htop

效果图如下:

2.8 vmstat

2.8.1 功能描述

查看虚拟内存信息

2.8.2 命令使用语法

 vmstat [options] [delay [count]]
delay:延迟
count:显示次数

2.8.4 主要栏位信息简介

Procs:
r:正在运行中或等待运行的进程数量
b: 不可终端睡眠的进程数量 Memory:
swpd: 交互内存的使用量
free: 空闲物理内存总量
buff: 用于buffer的内存总量
cache: 用于cache的内存总量
inact:非活动内存(配合-a)
active: 活动内存(配合-a)
Swap:
si: 从磁盘交互进内存的速率(kb/s)
so: 从内存进入磁盘交互的速率(kb/s) IO:
bi: 读取磁盘到系统的速率(kb/s)
bo: 系统写到磁盘的速率(kb/s) System:
in: 终端速率
cs: 上下文切换速率 CPU:
us:用户空间运行时间(user space)
sy:内核空间运行时间(system )
id:空闲进程时间(idle)
wa:等待io时间(wait)
st:虚拟机偷走的时间(stolen time)

2.8.5 命令使用样例

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st

2.9 iostat

2.9.1 功能描述

查看io的信息

2.9.2 命令的安装

[root@localhost cd]# yum install systat

2.9.3 命令使用语法

       iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] [ -j { ID | LABEL | PATH | UUID | ... } ] [ [ -T ] -g group_name
] [ -p [ device [,...] | ALL ] ] [ device [...] | ALL ] [ interval [ count ] ]     interval:时间间隔
   count:显示次数

2.9.4 主要参数和栏位信息简介

选项:
-h:人类易读的格式显示单位
-p:显示分区的,而不仅仅是磁盘的
-x:扩展信息 cpu相关:
%user:用户级别的应用程序的cpu占比
%nice:调整过nice的应用程序的cpu占比
%system:系统级别的cpu占比
%iowait:io等待的cpu占比
%steal:别虚拟机偷取的cpu占比
%idle:空闲的(没有io请求的)cpu占比 设备相关:
tps:每秒的事务量
Blk_read/s:每秒的块读取速度
Blk_wrtn/s:每秒的块写入速度
Blk_read:读取的块大小合计
Blk_wrtn:写入的块大小合计

2.9.5 命令使用样例

[root@localhost cd]# iostat -x -d -p
Linux 3.10.-.el7.x86_64 (localhost) // _x86_64_ ( CPU) Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.08 1.43 0.69 40.74 90.25 123.20 0.09 40.74 15.97 92.11 9.01 1.92
sda1 0.00 0.00 0.39 0.00 1.20 0.43 8.41 0.00 1.01 0.93 37.50 0.93 0.04
sda2 0.00 0.08 1.04 0.69 39.32 89.82 149.09 0.09 49.76 21.61 92.17 10.94 1.90
scd0 0.00 0.00 0.18 0.00 4.08 0.00 45.70 0.00 5.78 5.78 0.00 3.42 0.06
dm- 0.00 0.00 0.99 0.77 38.32 89.38 145.46 0.09 51.25 22.66 88.21 10.77 1.89
dm- 0.00 0.00 0.02 0.00 0.47 0.00 47.40 0.00 4.49 4.49 0.00 2.98 0.01
dm- 0.00 0.00 0.02 0.00 0.24 0.43 76.64 0.00 1.58 0.84 16.25 1.08 0.00

2.10 pmap

2.10.1 功能描述

报告指定进程的内存映射

2.10.2 命令使用语法

pmap [options] pid [...]

2.10.3 命令使用样例

[root@localhost cd]# pmap
: vim a.txt
2112K r-x-- vim
000000000080f000 4K r---- vim
00007f7199024000 2044K ----- libutil-2.17.so
00007f7199223000 4K r---- libutil-2.17.so
----------------------------中间信息跳过不显示了------------------------------------
total 148884K

2.11 glance

2.11.1 功能描述

一个跨平台的系统监控工具

2.11.2 命令的安装

[root@localhost cd]# yum install glances   -y                    # 在epel yum 源

2.11.3 命令使用语法

glances [OPTIONS]

2.11.4 主要参数简介

选项:
-c:作为客户端
-s:作为服务端
-B指定绑定ip,默认是绑定所有ip
-p:指定端口,默认是61209

2.11.5 命令使用样例

在一台机器上

[root@localhost cd]# glances -s  &                 #后台运行
[1] 2290
Glances server is running on 0.0.0.0:

在另外一个机器上

[root@localhost ~]# glances -c 192.168.1.101

效果图如下

2.12 dstat

2.12.1 功能描述

系统资源统计,用于代替vmstat,iostat的

2.12.2 命令的安装

[root@localhost ~]# yum install dstat -y

2.12.3 命令使用语法

dstat [-afv] [options..] [delay [count]]

delay :延迟
count: 次数

2.12.4 主要参数简介

选项:
-c:显示cpu相关信息
-d:显示磁盘相关信息
-m:显示内存相关信息
-n:显示网络相关信息
-p:显示进程相关信息
-r:显示io请求相关信息
-s:显示swaped相关信息
--top-cpu:显示最占用cpu的进程
--top-mem:显示最占用内存的进程

2.12.5 命令使用样例

[root@localhost ~]# dstat -v
---procs--- ------memory-usage----- ---paging-- -dsk/total- ---system-- ----total-cpu-usage----
run blk new| used buff cach free| in out | read writ| int csw |usr sys idl wai hiq siq
0.4| 278M 3468k 420M 3234M| | 33k 69k| |
| 278M 3468k 420M 3234M| | | |
| 278M 3468k 420M 3234M| | | |

2.13 iotop

2.13.1 功能描述

类似top命令的io监控

2.13.2 命令的安装

[root@localhost ~]# yum install iotop -y

2.14 kill

2.14.1 功能描述

给指定进程发信号,大多数用于关闭进程

2.14.3 命令使用语法

       kill [-s signal|-p] [-q sigval] [-a] [--] pid...
kill -l [signal]

2.14.4 主要参数简介

常用信号:
)用于测试进程是否存在
)SIGHUP:无需关闭进程让其重读配置文件
)SIGINT:中止正在运行的进程,相当于ctrl+c
) SIGQUIT:退出,相当于ctrl+\
) SIGKILL:强制杀死正在运行的进程
)SIGTERM:终止正在运行的进程
)SIGCONT:继续运行
)SIGSTOP:后台睡眠 指定信号方式:
数字方式,如1
信号完整名字,如SIGHUP
信号简写,如HUP

2.14.5 命令使用样例

查看进程是否存在

[root@localhost ~]# pidof vim                                  # 查看指定进程的pid

[root@localhost ~]# kill - 2245                               # 发送0信号
[root@localhost ~]# echo $? # 如果结果为0代表进程存在,否则不存在

杀掉进程

[root@localhost ~]# kill - 

杀掉所有httpd进程

[root@localhost ~]# killall httpd

linux进程管理和系统状态查看命令简介的更多相关文章

  1. linux进程管理和系统状态常用命令简介

    1 进程管理简介 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础 2 常用命令 2.1 pstree 2.1.1 功能描 ...

  2. Linux 进程管理、系统状态查询

    1.内存给进程一段空间让他启动,让内核通过cpu来管理它. 2.ps命令查看命令信息. 用户.pid号.使用cpu.使用内存.虚拟内存.真实内存.控制台.状态.启动时间.运行时间.名 USER PID ...

  3. Linux分享笔记:系统状态检测命令小结

    作为一名合格的运维人员,要能很好地了解Linux服务器,要能熟练查看Linux系统的运行状态.以下是常用到的Linux系统状态检测命令. 1. ifconfig:用于获取网卡配置与网络状态等信息.通常 ...

  4. Linux ARP缓存配置和状态查看命令

    查看Linux ARP缓存老化时间 cat /proc/sys/net/ipv4/neigh/eth0/base_reachable_time同目录下还有一个文件gc_stale_time,官方解释如 ...

  5. linux系统状态查看/管理相关命令

    系统状态查看命令: w 查看用户 top 系统进程监控 uptime 查看某台服务器运行了多久 htop 更加先进的交互式监控工具(需要安装) iotop 监控并实时显示磁盘IO输入和输出和程序进程( ...

  6. Linux进程管理工具Supervisor的安装配置

    目录 Linux进程管理工具Supervisor的安装配置 简介 安装Python包管理工具 安装Supervisor 配置 配置文件参数说明 配置进程管理 启动supervisor 控制进程 交互终 ...

  7. 12个Linux进程管理命令介绍(转)

    12个Linux进程管理命令介绍 [日期:2015-06-02] 来源:Linux中国  作者:Linux [字体:大 中 小]   执行中的程序在称作进程.当程序以可执行文件存放在存储中,并且运行的 ...

  8. 【linux之进程管理,系统监控】

    一.进程管理 前台进程:一般是指占据着标准输入和/或标准输出的进程后台进程:不占据默认开启的进程都是前台进程ctrl+C 中断ctrl+z 从前台转入后台bg 后台进程编号 让其在后台运行ls -R ...

  9. [转帖]十二 个经典 Linux 进程管理命令介绍

    https://www.cnblogs.com/swordxia/p/4550825.html 接了 http referer 头 没法显示图片 可以去原始blog 里面去查看.   随笔- 109  ...

随机推荐

  1. Leetcode题解(十八)

    51.N-Queens ---------------------------------------------------------------------------------分割线---- ...

  2. Long Long Message(后缀数组)

    Long Long Message Time Limit: 4000MS   Memory Limit: 131072K Total Submissions: 30427   Accepted: 12 ...

  3. web前端免费资源集

    web前端免费资源集 https://github.com/vhf/free-programming-books/blob/master/free-programming-books-zh.md

  4. 蓝桥杯之K好数

    如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数的数目.例如K = 4,L = 2的时候,所有K好数为11.13.20.22.30.3 ...

  5. WebService-axis2

    WebService框架有好多,常用的cxf,axis2等,axis2的配置过程相对简单,不用编写接口,在实现.只需要一个Service服务类即可.配置过程大致如下: 1,导入jar包(这里我是把ax ...

  6. Java反射机制使用场景

    import java.io.*; import java.util.Properties; /*问题描述:存在一个主板--已经定义好,不想修改其代码,还想在主板上面增加一些其他功能? *问题解决方法 ...

  7. 你有什么理由还不选择阿里云服务器呢--从阿里云发布自研商用关系型数据库POLARDB想到的

    最近几天,阿里云发布自研商用关系型数据库POLARDB的消息可谓是重磅炸弹啊.借用官方宣传的话就是:6倍性能于MySQL并100%兼容/100TB存储容量/2分钟创建只读副本/3分钟创建容灾实例,第三 ...

  8. app.config 配置多项 配置集合 自定义配置

    C#程序的配置文件,使用的最多的是appSettings 下的<add key="Interval" value="30"/>,这种配置单项的很方便 ...

  9. [转载] Spark:大数据的“电光石火”

    转载自http://www.csdn.net/article/2013-07-08/2816149 Spark已正式申请加入Apache孵化器,从灵机一闪的实验室“电火花”成长为大数据技术平台中异军突 ...

  10. Python的__init__.py用法

    python中包的引入,对于大型项目中都会使用到这个功能,把实现不同功能的python文件放在一起,组成不同lib库,然后在其他地方调用. 包,python源文件+__init__.py 模块,pyt ...