linux进程管理——进程管理相关命令

linux系统上与进程有关的命令:

查看类命令:

ps,pstree,pidof,pgrep\pkill,top,htop,glances,dstat,vmstat,pmap

管理类命令:

bg,fg,jobs,kill,killall,nohup,nice,renice

pstree命令:

pstree - display a tree of processes

显示进程之间的关系,用树状图表示

ps命令:

ps - report a snapshot of the current processes.

显示当前进程的信息;

ps [option]

1 UNIX 风格;必须在选项前边加上-;

2 BSD 风格;在选项前边不能有-;

3 GUN 风格;再选项前边必须有两个-;

字段含义:

USER:进程的属主;进程的发起者;

PID:标识进程的唯一性的数字标识符;

CPU:进程在执行过程中占用的CPU处理时间的百分比;

%MEM;进程占用的物理内存百分比;

VSZ:虚拟内存集,可交换内存集;

RSS:常驻内存集,不可交换内存集;

TTY:进程与哪个终端有关联的,"?"则表示与终端无关;

STAT:

R    运行状态;running or runnable (on run queue)

S    可中断睡眠态; interruptible sleep (waiting for an event to complete)

D    不可终端睡眠态; uninterruptible sleep (usually IO)

t    在跟踪期间被停止;stopped by debugger during the tracing

T    停止进程控制信号;stopped by job control signal

X    死进程; dead (should never be seen)

Z    僵尸进程; defunct ("zombie") process, terminated but not reaped by its parent

<    高优先级; high-priority (not nice to other users)

N    低优先级; low-priority (nice to other users)

L    页面是否锁进内存中;has pages locked into memory (for real-time and custom IO)

s    会话领导; is a session leader

l    多线程;is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)

+    前进程组; is in the foreground process group

START:至今仍未被结束的进程被开启的时间戳;

TIME:当前进程累计占用CPU的总时间;

COMMAND:启动该进程的命令行参数;

BSD风格的选项:

a:显示所有与终端相关的进程;

x:显示所有与终端无关的进程;

u:显示发起进程的用户账户名称;

o format:以自定义的字段,显示ps命令的执行结果;

UNIX风格的选项:

-u:显示与指定用户相关的进程;

-e:显示所有的进程

-f:显示完整格式的进程信息:

PPID:父进程的pid

C:表示进程占用的CPU的时间的百分比

-F:显示完整格式的内存信息:(多了几项内容)

SZ:虚拟内存集

RSS:常驻内存集

PSR:执行此进程的CPU的核心编号

-H:显示进程的层级结构(父子关系)

-o format:以自定义的字段,显示ps命令的执行过结果;

pgrep,pkill命令

pgrep, pkill - look up or signal processes based on name and other attributes

pgrep是查询进程

pkill是杀掉进程

pgrep  [option]  pattern

pkill [option] pattern

-U, --uid :显示进程的真实用户ID

-u:显示进程的有效用户ID

-t terminal:显示与指定终端关联的进程;

-a:显示进程的完整命令行参数;

比如:

我在kill掉我的ssh后,我的 X shell 就断开了,因为 X shell 是基于ssh协议来进行远程连接的,我只能在我的虚拟机上重启了一下ssh进程;

然后,我的 X shell 才可以正常连上;

pidof:

pidof -- find the process ID of a running program.

根据指定的正在运行的进程名称查找其对于的进程号;

top命令:

top - display Linux processes

当在linux中输入top时;我们会看到如图所示的动态的显示信息:解释一下具体的信息

第一行:

当前系统时间;

系统自上次断电以后运行的总时长;

当前登录系统的用户的总数;

在过去的1分钟,5分钟,15分钟的三个时间段内,CPU上等待执行的进程的队列的长度。

第二行:

系统中运行的进程的总数;

正在运行的进程数;

处于睡眠态的进程数;

已停止的进程数;

僵死态的进程数;

第三行:各类进程占用CPU时间的百分比的统计信息

us:user space,用户空间中的进程占用CPU时间的百分比;

sy:system,内核空间中的内核进程占用CPU时间的百分比;

ni:nice,使用nice值调整了进程的优先级之后额外多占CPU时间的百分比;

id:idel,CPU空闲时间的百分比;

wa:waiting,等待IO完成的进程占用的CPU时间的百分比;

hi:hardware interupting,处理硬件中断事件所限号的CPU时间的百分比;

si:software interupting,处理软件中断事件所限号的CPU时间的百分比;

st:stolen,被虚拟化程序等进程偷偷占用的CPU时间的百分比;

第四行:以kib为单位显示物理内存空间的使用情况的统计信息;

total:物理内存空间的总大小;

free:空闲的物理空间大小;

userd:已经被使用的物理空间的大小,不可回收;

buff/cache:用于缓冲区和缓冲区的物理内存的空间大小;这段内存是可以随时回收,并不算真正的消耗;

第五行:以kib为单位显示swap空间的使用情况的统计信息;

total:swap空间的总大小;

free:swap空间剩余空间大小;

used:已经被占用的swap空间大小;

avail mem:真正的可用的物理内存的空间大小;

交互式命令:(在进入界面之后才会生效的命令)

1:显示或隐藏CPU各核心的详细信息;

P:根据各个进程对CPU时间的占用百分比进行降序排序;

M:根据各个进程对物理内存空间占用的百分比进行降序排序;

T:根据各个进程对CPU时间占用的百分比进行降序排序;

l:显示或隐藏第一行,uptime等信息;

t:显示或隐藏第二、三行信息

m:显示或隐藏第四、五行信息

q:退出top的交互式模式

s:修改top命令的刷新时间间隔;

k:向指定PID的进程发送指定的信号;

信号:kill -l查询

常用的选项:

-d #:指定top交互式模式中的刷新间隔,默认是3秒;

-b:非交互式显示结果

vmstat命令:

Procs

r: 等待运行的进程数

b: 处在非中断睡眠状态的进程数

w: 被交换出去的可运行的进程数。

此数由 linux 计算得出,但 linux 并不耗尽交换空间

Memory

swpd: 虚拟内存使用情况,单位:KB

free: 空闲的内存,单位KB

buff: 被用来做为缓存的内存数,单位:KB

Swap

si: 从磁盘交换到内存的交换页数量,单位:KB/秒

o: 从内存交换到磁盘的交换页数量,单位:KB/秒

IO

bi: 发送到块设备的块数,单位:块/秒

bo: 从块设备接收到的块数,单位:块/秒

System

in: 每秒的中断数,包括时钟中断

cs: 每秒的环境(上下文)切换次数

CPU

按 CPU 的总使用百分比来显示

us: CPU 使用时间

sy: CPU 系统使用时间

id: 闲置时间

常用选项:

-a,--active:显示活跃的以及非活跃的内存空间数量;

-s,--stats:从/proc/meminfo文件中抽取的信息,加工后输出;

delay:指示在指定的时间重复执行vmstat命令;默认单位为秒;

count:重复执行vmstat命令的次数;

pmap命令:

pmap - report memory map of a process

pmap [options] pid [...]

-x, --extended:显示扩展信息;

htop - interactive process viewer

htop [-dChusv]

常用选项:

-d --delay=DELAY:htop命令的数据刷新时间间隔;

-s:根据指定的字段进行排序;

-u:仅显示指定用户拥有的进程;

常用的交互式命令:

l:显示指定进行所有打开的文件列表;

t:显示进程树结构,可以显示出进程之间的父子关系;相当于F5键的功能;

a:设定进程的CPU亲源性,将选定进程的绑定至某个CPU核心上运行;

glances:

glances - A cross-platform curses-based monitoring tool

glances [-bdmn] [-t refresh] [-f file] [-o output]

常用选项:

-b:以Byte为单位显示网卡的数据通信速率;默认是比特每秒;

-d:禁用disk I/O模块;

-m:禁用mount模块;

-n:禁用network模块;

-t refresh:以秒为单位指定数据刷新时间间隔;

-f /PATH/TO/OUTPUT_DIR:指定输出文件的路径;

-o {HTML|CSV}:为输出到文件的数据指定数据格式;

-s:将glances进程作为服务进程,因此可以提供基于套接字的网络访问;

-B @IP|HOST:将glances进程绑定到指定的IP地址上;通常与-s选项一起使用;

glances可以工作于C/S模型下;

S:服务器模式

# glances -s -B IPADDR

IPADDR指的是服务器上本地某个可用的IP地址;

C:客户端模式

# glances -c SERVER_IPADDR

SERVER_IPADDR指的是从远程客户端是哪个发起连接的目标服务器的IP地址;

glances交互式操作命令;

b:网络模块中的速率统计在bps和Bps间切换;

c:根据CPU占用率进行进程排序;

m:根据内存占用率进行进程排序;

n:隐藏或显示NERWORK模块;

d:隐藏或显示DISK模块;

f:隐藏或显示FILE模块;

t:恢复默认进程排序;

h:显示help帮助信息;

....

dstat:

dstat - versatile tool for generating system resource statistics

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

常用选项:

-c,--cpu:仅显示与CPU相关的统计信息;

-d,--disk:仅显示与磁盘等IO设备相关的统计信息;

-g,--page:仅显示与page相关的信息;

-n,--net:仅显示与网络接口相关的统计信息;

-s,--swap:仅显示与交换分区相关的统计信息;

-y,--system:仅显示与系统相关的统计信息;

--tcp:仅显示与TCP协议的连接状态相关的统计信息;

--udp:仅显示与UDP协议的连接状态相关的统计信息;

kill:

kill - 终止进程

kill [-s signal|-p] [--] pid...

kill -l [signal]:查看当前系统中支持的信号的种类和信号名称;

有效的信号表示方法:

1.使用信号的数字编码进行信号表示;

2.使用信号的完整名称进行信号表示;

3.使用信号的简写名称进行信号表示;简写名称不包含"SIG"的其余部分;

常用的信号:

1) SIGHUP: 无需关闭对应进程而直接让其重新读取其自身的配置文件;

2) SIGINT:终止运行于前台的进程,使用Ctrl+c组合键,可以发送此信号;

9) SIGKILL: 没有任何预兆终止正在运行的进程,进程所有占用的资源都不会被立即回收;

15) SIGTERM:kill命令默认发送的信号;终止进程的运行,

18) SIGCONT:让转入后台的进程在后台继续运行;

19) SIGSTOP:让转入后台的进程在后台停止运行;

killall

killall - 以名字方式来杀死进程

killall [options] ...PROCRSS_NAME..

常用选项:

-u:仅向指定所有者所拥有的进程发送信号;

-s:向指定名称的进程发送指定的非SIGTERM信号;

-I:忽略进程名称大小写的区别;

进程作业:

前台作业:

foreground jobs,一般是通过终端启动并且在启动后一直占据终端的进程;

后台作业:

background jobs,一般系统启动时随系统启动,也可以通过终端启动,但启动后理解释放对终端的占用,此时我们称其为"后台运行";

使进程从前台转移至后台:

1.正在运行的前台作业;

Ctrl+z

2.对于尚未启动的进程,使其在启动后自动转入后台:

# COMMAND &

注意:此类从前台启动直接转入后台运行的进程,始终是与终端有关的进程,因此,如果终端被关闭,或shell进程被终止,则此类进程也会被终止;

3.对于尚未启动的进程,使其在启动后自动转入后台,并同时剥离其与终端的关联关系;

# nohup COMMAND &

查看后台作业的信息:

jobs

将后台作业转入到前台运行:

fg [JOB_ID]

注意:如果省略JOB_ID,则在后台进程中以"+"标识的作业会被转入前台;

终止后台进程作业:

kill %JOB_ID:将后台作业结束;

调整进程优先级的命令;

nice,renice

进程的优先级:

0-139

0

1-99

100-139:动态优先级;通过调整进程的nice值来改变进程的动态优先级;

NICE值的取值范围:-20~19

默认情况下,所有用户进程的动态优先级都是120,而所有进程的NICE值默认都为0;

只有超级用户root才能使用附属的NICE值,进而提升进程的优先级;普通用户仅能使用正数的NICE值,进而降低进程的优先级;

nice

nice - run a program with modified scheduling priority

nice [OPTION] [COMMAND [ARG]...]

-n:为后面的进程调整nice值;默认为10;

renice:

renice - alter priority of running processes

renice [-n] priority [-gpu] identifier...

常用选项:

-n priority :设置此次要调整的nice值;即在原有的nice值之上追加上此处指定的数量;

-p pid:

原文地址:http://blog.51cto.com/liujingyu/2089109

时间: 2024-08-28 09:01:36

linux进程管理——进程管理相关命令的相关文章

Linux基本命令之用户系统相关命令

1.格式说明 [[email protected] simon]$ [[email protected] ~]$ 这两种方式表示相同.simon是指定用户,localhost是计算机名字,如果不设置默认为localhost. simon.~是指当前所在的目录. 终端:命令解释器,仿真shell 2.用户的切换 su[选项] [使用者] 如:su - root 示例通过su命令将普通用户变更为root用户,并使用选项"-"携带root环境变量. 从超级用户退出到普通用户exit 3.用户

Linux用户和用户组以及相关命令(下)

用户和组管理的相关命令介绍以及使用: 大体上涉及到的命令有:useradd,usermod,passwd,userdel,groupadd,groupmod,gpasswd,groupdel,chage,chsh,chfn,id,w, who,whoami,su,finger 1.useradd:create a new user or update default new user information. 用法: useradd [options] LOGIN          userad

linux基础篇-22,硬盘相关命令ln df mknod fdisk

MBR:Master Boot record主引导记录(512byte字节) bootloader:446byte 标示分区:16byte标示一个分区(一共64byte) 标示MBR是否有效:2byte Magic Number ################################################ ln ln [选项]... 目标         (第二种格式) -s, --symbolic        创建符号链接而非硬链接 -v, --verbose      

Linux网络属性配置管理及其相关命令

TCP/IP协议: 网络访问层(Network Access Layer)在TCP/IP参考模型中并没有详细描述,只是指出主机必须使用某种协议与网络相连. 互联网层(Internet Layer)是整个体系结构的关键部分,其功能是使主机可以把分组发往任何网络,并使分组独立地传向目标.这些分组可能经由不同的网络,到达的顺序和发送的顺序也可能不同.高层如果需要顺序收发,那么就必须自行处理对分组的排序.互联网层使用因特网协议(IP,Internet Protocol).TCP/IP参考模型的互联网层和

linux(centos) 项目部署阶段相关命令汇总

1.ssh免密码登陆 主要命令 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys-->添加公钥 service sshd restart -->重启ssh服务 参考链接: http://jingyan.baidu.com/article/2fb0ba4043124a00f2ec5f0f.html 2.查看系统相关信息: uname -a 查看OS详细信息 file /bin/ls 显示系统程序信息,就能看出多少位 获得机器字长 getc

linux下tomcat服务器的相关命令

一:Linux下tomcat服务的启动.关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:切换到tomcat主目录下的bin目录(cd usr/local/tomcat/bin)1,启动tomcat服务方式一:直接启动 ./startup.sh方式二:作为服务启动 nohup ./startup.sh &方式三:控制台动态输出方式启动 ./catalina.sh run 动态地显示tomcat后台的控制台输出信息,Ctrl+C后退出并关闭服务解释:

linux下tomcat服务的相关命令

一:Linux下tomcat服务的启动.关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:切换到tomcat主目录下的bin目录(cd usr/local/tomcat/bin)1,启动tomcat服务方式一:直接启动 ./startup.sh方式二:作为服务启动 nohup ./startup.sh &方式三:控制台动态输出方式启动 ./catalina.sh run 动态地显示tomcat后台的控制台输出信息,Ctrl+C后退出并关闭服务解释:

PuTTy linux下tomcat服务的相关命令

一:Linux下tomcat服务的启动.关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:切换到tomcat主目录下的bin目录(cd usr/local/tomcat/bin)1,启动tomcat服务方式一:直接启动 ./startup.sh方式二:作为服务启动 nohup ./startup.sh &方式三:控制台动态输出方式启动 ./catalina.sh run 动态地显示tomcat后台的控制台输出信息,Ctrl+C后退出并关闭服务解释:

linux 入门4-关机/重启相关命令

摘录链接:https://blog.csdn.net/wenfei11471/article/details/79319795 https://www.runoob.com/linux/linux-system-boot.html 1>在linux领域内大多用在服务器上,很少遇到关机的操作.毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机. 2>Linux系统下关机指令只有root用户终端才能下达(Linux里切换用户可以用 su root 输入密码便进入 root 用户),

Linux(5)、文件内容相关命令

文件内容相关 新增内容 vim 模式化编辑器.全屏编辑器 centos7安装vim:yum -y install vim 三种模式 1.编辑模式,打开vim后默认的模式,没卵用: 2.插入模式,直接可以修改文本内容: 3.末行模式,可以使用命令操作文本内容: :10d 删除第10行 :10,20d 删除第10行-20行 模式之间转换: 编辑模式 --> 输入模式: i 在当前光标所在字符前面进入输入模式 a 在当前光标所在字符后面进入输入模式 o 在当前光标所在行的下方新建一行,并转换为输入模式