Linux-进程管理-ps命令

0.摘要

ps命令用于查看系统中的进程,经常与grep、kill、sort等命令配合,完成进程管理任务。

1.ps命令

ps:Process Status,ps命令用来列出系统中当前运行的进程。可以查看进程的运行状态,占用资源等情况。

注意:ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。

linux上进程有5种状态: 

序号 状态 说明
1 运行 正在运行或在运行队列中等待
2 中断 休眠中, 受阻, 在等待某个条件的形成或接受到信号
3 不可中断 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生
4 僵死 进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放
5 停止 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行

ps工具标识进程的5种状态码: 

序号 状态码 说明
1 D 不可中断 uninterruptible sleep (usually IO) 
2 R 运行 runnable (on run queue) 
3 中断 sleeping 
4 停止 traced or stopped 
5 Z 僵死 a defunct (”zombie”) process

2.ps命令参数

参数 释义
a 显示现行终端机下的所有程序,包括其他用户的程序
-A 显示所有程序
c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示
-e 此参数的效果和指定"-A"参数相同
e 列出程序时,显示每个程序所使用的环境变量
f 用ASCII字符显示树状结构,表达程序间的相互关系
-H 显示树状结构,表示程序间的相互关系
-N  显示所有的程序,除了执行ps指令终端机下的程序之外
s 采用程序信号的格式显示程序状况
S  列出程序时,包括已中断的子程序资料
-t  指定终端机编号,并列出属于该终端机的程序的状况
u 以用户为主的格式来显示程序状况
x 显示所有程序,不以终端机来区分

例如,输入ps aux,查看所有进程:

扫描二维码关注公众号,回复: 6095087 查看本文章

3.查找进程

由于进程数量较多,通常借助于管道“|”和grep命令进行二次筛选。

grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并按行打印) ,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。https://www.cnblogs.com/kongzhongqijing/articles/4462793.html

 ps -aux | grep python    # 查看包含python关键词的进程

4.kill进程

使用kill命令,可以杀掉进程:

kill 1123      # 杀掉PID=1123的进程
kill -9 1123   # 强制杀掉PID=1123的进程

5.排序

ps aux命令输出的第一行标注了每一个进程的详细信息。

通过sort命令,可以按照不同的标准,对ps的输出内容进行排序。

比如,按照CPU占用排序:

ps aux | sort -k3r 
# k3表示按照第3项进行排序,即按照CPU占用率排序
# r表示反序,占用CPU最多的进程显示在前面。

参考链接:

https://www.cnblogs.com/aipiaoborensheng/p/7676364.html

https://www.cnblogs.com/shujuxiong/p/8983103.html

猜你喜欢

转载自blog.csdn.net/qq_17753903/article/details/89707839