系统维护的时候难免会遇到进程的状态的查询和管理,到底什么是R,有的是S,有的还是S+呢?一直有些混沌的问题,今天细细的来总结一下:

ps是用来报告系统中程序执行状况的命令这个是无可厚非的,linux进程的状态:

D   不可中断睡眠 (通常是在IO操作) 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生

R   正在运行或可运行(在运行队列排队中)

S   可中断睡眠 (休眠中, 受阻, 在等待某个条件的形成或接受到信号)

T   已停止的 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行

W   正在换页(2.6.内核之前有效)

X   死进程 (未开启)

Z   僵尸进程  进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放BSD风格的

N   低优先级(nice to other users)

L   页面锁定在内存(实时和定制的IO)

s   一个信息头

l   多线程(使用 CLONE_THREAD,像NPTL的pthreads的那样)

+   在前台进程组

例如:

[test@pan ~]$ ps -aux

USER     PID    %CPU    %MEM    VSZ  RSS     TTY   STAT  START       TIME     COMMAND

root         1      0.0        0.0       1672  516       ?        S       Apr21      0:00    init [5]

root         2      0.0        0.0           0    0       ?        S       Apr21      0:00    [migration/0]

root         3      0.0        0.0           0    0       ?        SN      Apr21      0:00    [ksoftirqd/0]

root         4      0.0        0.0           0    0       ?        S       Apr21      0:00    [migration/1]

root         5      0.0        0.0          0    0        ?        SN      Apr21      0:00    [ksoftirqd/1]

root         6      0.0        0.0          0    0        ?        S       Apr21      0:00    [migration/2]

其中这个参数来列出所有的信息以提供自己检查程序的问题!在上面的程序列出当中,说明如下:

USER:说明该程序是属于哪一个人的;

PID:该程序的代号;

%CPU:代表该程序使用了多少 CPU 资源;

%MEM:代表该程序使用了多少的 RAM ;

VSZ, RSS:占去的 ram 的大小( bytes );

TTY:是否为登入者执行的程序?若为 tty1-tty6 则为本机登入者,若为 pts/?? 则为远程登入者执行的程序

STAT:该程序的状态

START:该程序开始的日期;

TIME:该程序运行的时间?

COMMAND:该程序的内容啦!

ps命令一般和grep搭配使用,列出某个特定进程的状态

ps -aux |grep Mega或者ps -ef |grep Mega  (检查进程名包含Mega的进程运行状况)

man ps的解释:

linux ps(process status) 命令详解

功能说明:报告程序状况。

语  法:ps [-aAcdefHjlmNVwy][acefghLnrsSTuvxX][-C ][-g ][-G ][-p ][p ][-s ][-t ][t ][-u ][-U ][U ][-][--cols ][-- columns ][--cumulative][-- elect][--forest][--headers][--help] [--info][--lines ][--no-headers][--group ][-Group ][--pid ][--rows ][--sid ][--tty ][--user ][--User ][--version][--width ]

补充说明:ps是用来报告程序执行状况的指令,您可以搭配kill指令随时中断,删除不必要的程序。

参  数:

-a  显示所有终端机下执行的程序,除了阶段作业领导者之外。

a   显示现行终端机下的所有程序,包括其他用户的程序。

-A  显示所有程序。

-c  显示CLS和PRI栏位。

c  列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。

-C   指定执行指令的名称,并列出该指令的程序的状况。

-d  显示所有程序,但不包括阶段作业领导者的程序。

-e  此参数的效果和指定"A"参数相同。

e   列出程序时,显示每个程序所使用的环境变量。

-f  显示UID,PPIP,C与STIME栏位。

f   用ASCII字符显示树状结构,表达程序间的相互关系。

-g  此参数的效果和指定"-G"参数相同,当亦能使用阶段作业领导者的名称来指定。

g   显示现行终端机下的所有程序,包括群组领导者的程序。

-G  列出属于该群组的程序的状况,也可使用群组名称来指定。

h   不显示标题列。

-H  显示树状结构,表示程序间的相互关系。

-j或j  采用工作控制的格式显示程序状况。

-l或l  采用详细的格式来显示程序状况。

L    列出栏位的相关信息。

-m或m  显示所有的执行绪。

n  以数字来表示USER和WCHAN栏位。

-N  显示所有的程序,除了执行ps指令终端机下的程序之外。

-p  指定程序识别码,并列出该程序的状况。

p  此参数的效果和指定"-p"参数相同,只在列表格式方面稍有差异。

r  只列出现行终端机正在执行中的程序。

-s  指定阶段作业的程序识别码,并列出隶属该阶段作业的程序的状况。

s  采用程序信号的格式显示程序状况。

S  列出程序时,包括已中断的子程序资料。

-t  指定终端机编号,并列出属于该终端机的程序的状况。

t  此参数的效果和指定"-t"参数相同,只在列表格式方面稍有差异。

-T  显示现行终端机下的所有程序。

-u< 用户识别码>  此参数的效果和指定"-U"参数相同。

u  以用户为主的格式来显示程序状况。

-U  列出属于该用户的程序的状况,也可使用用户名称来指定。

U  列出属于该用户的程序的状况。

v  采用虚拟内存的格式显示程序状况。

-V或V  显示版本信息。

-w或w  采用宽阔的格式来显示程序状况。

x  显示所有程序,不以终端机来区分。

X  采用旧式的Linux i386登陆格式显示程序状况。

-y  配合参数"-l"使用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位 。

-  此参数的效果和指定"p"参数相同。

--cols  设置每列的最大字符数。

--columns  此参数的效果和指定"--cols"参数相同。

--cumulative  此参数的效果和指定"S"参数相同。

--deselect  此参数的效果和指定"-N"参数相同。

--forest  此参数的效果和指定"f"参数相同。

--headers  重复显示标题列。

--help  在线帮助。

--info  显示排错信息。

--lines  设置显示画面的列数。

--no-headers  此参数的效果和指定"h"参数相同,只在列表格式方面稍有差异。

--group  此参数的效果和指定"-G"参数相同。

--Group  此参数的效果和指定"-G"参数相同。

--pid  此参数的效果和指定"-p"参数相同。

--rows  此参数的效果和指定"--lines"参数相同。

--sid  此参数的效果和指定"-s"参数相同。

--tty  此参数的效果和指定"-t"参数相同。

--user  此参数的效果和指定"-U"参数相同。

--User  此参数的效果和指定"-U"参数相同。

--version  此参数的效果和指定"-V"参数相同。

--widty  此参数的效果和指定"-cols"参数相同。

linux 查进程对应用户,linux进程状态查询相关推荐

  1. linux中进程的用户管理

    linux中进程的用户管理 每个进程都拥有真实的用户.组(uid.gid),有效的用户.组(euid.egid),保存的设置用户.组(suid.sgid),还有linux中专门用于文件存储存取的用户. ...

  2. linux端口进程号pid,Linux根据端口号查看进程PID

    1.命令lsof,以查找占用端口80为例,用法如下: [root@localhost nginx]# lsof -i:80 以上为没有进程占用80端口, [root@localhost sbin]# ...

  3. linux 查杀其他用户进程,linux如和对其他用户隐藏进程?

    Linux kernel 3.2以上,root用户可以设置内核,让普通用户看不到其它用户的进程.适用于有多个用户使用的系统.该功能由内核提供,因此本教程适用于Debian/Ubuntu/RHEL/Ce ...

  4. linux杀死进程删除文件,linux 常用到的命令 删除 移动 复制 查询端口 杀死进程 查询进程...

    1. 删除文件 删除一个文件 rm -f 文件路径 删除多个文件 rm -f 文件路径 文件路径 ... 删除文件夹以及文件夹中的文件 rm -rf 文件夹路径 删除多个文件夹以及文件夹中的文件 rm ...

  5. linux僵死进程是什么,linux进程僵死

    如果Linux系统的ECS实例CPU持续保持高使用率,则会对系统稳定性和业务运行造成影响.可以按如下步骤进行处理. 定位问题.找到影响CPU使用率过高的具体进程. 分析处理.查看影响CPU使用率过高的 ...

  6. linux php进程端口占用,linux如何查看端口占用情况

    在linux中可以使用lsof和netstat命令来查看端口占用情况,其中lsof语法为"lsof -i:端口号",netstat语法为"netstat -tunlp | ...

  7. linux 怎么查看系统用户,Linux系统下查看用户的常用方法

    使用Linux系统时经常需要查看用户信息,除了cat /etc/passwd文件外,其实还有很多命令可以直接查看系统用户信息,下面总结一些Linux系统下查看用户的常用方法: id命令 功能:打印指定 ...

  8. linux命令的添加用户,Linux基础命令---添加用户useradd

    useradd 创建新的系统用户,useradd指令只能以管理员的身份运行,创建的用户都在"/etc/passwd"文件中.当不加-D参数,useradd指令使用命令列来指定新帐号 ...

  9. linux通过进程看端口,linux下通过进程名查看其占用端口

    linux下通过进程名查看其占用端口: 1.先查看进程pid ps -ef | grep 进程名 2.通过pid查看占用端口 netstat -nap | grep 进程pid 例:通过nginx进程 ...

最新文章

  1. 读书笔记:《Aspx开发200问》——如何实现Repeater控件的分页
  2. Windows - Windows批处理
  3. java 集合差运算_用一个参数的JAVA程序实现集合的交并差运算
  4. quartz mysql 建表_quartz创建表语句
  5. 设计模式三之抽象工厂模式
  6. CV之CycleGAN:CycleGAN算法相关思路配图、论文集合
  7. RHEL6入门系列之二十七,源码安装及软件安装综合实例
  8. 关于iframe的contentDocument和contentWindow
  9. 到达一个数 Reach a Number
  10. shader 获取法线_Unity Shader 入门到改行5——法线贴图
  11. php开发中常用函数总结,PHP开发中常用函数总结
  12. 乐观锁 VS 悲观锁(简述)
  13. postgre SQL 中的 触发器 (实例应用,如何备份更新之前的差分数据)
  14. 软件测试测试工具总结
  15. torch的maximum与max以及导出onnx
  16. 谷歌李开复 我的传奇人生源于十句箴言
  17. 浏览器被恶意篡改怎么办?
  18. 三篇文章彻底搞懂Java面向对象之一
  19. python调用阿里云sdk
  20. 【华为OD机试真题 python】最大平分数组【2022 Q4 | 200分】

热门文章

  1. 分布式事务+DDD+负载均衡+服务治理已撸!微服务不就这点事?
  2. 高并发之存储篇:关注下索引原理和优化吧!躲得过实践,躲不过面试官!
  3. 刚学会深拷贝一个对象,学妹却问我怎么深拷贝一个图
  4. Redis详解和实战--云平台技术栈16
  5. 【面试】我是如何在面试别人Spring事务时“套路”对方的
  6. 14年阿里巴巴管理经验总监:教你管理7步心法(演讲全文)
  7. 用java做一个简单记事本_用记事本写一个简单的java程序
  8. 计算机书籍-语音识别技术实践
  9. 计算机书籍-前谷歌工程师撰写-机器学习实战
  10. html完成横纵坐标位置确定,2018-2019学年安徽省合肥市七年级下期中数学试卷-附详细答案...