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

ps工具标识进程的5种状态码:
D 不可中断 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 中断 sleeping
T 停止 traced or stopped
Z 僵死 a defunct ("zombie") process

注: 其它状态还包括W(无驻留页), <(高优先级进程), N(低优先级进程), L(内存锁页).

可以用下面命令查看进程状态
ps -aux

也可以这样使用ps格式输出来查看进程状态:
ps -eo user,stat..,cmd

user 用户名
uid 用户号
pid 进程号
ppid 父进程号
size 内存大小, Kbytes字节.
vsize 总虚拟内存大小, bytes字节(包含code+data+stack)
share 总共享页数
nice 进程优先级(缺省为0, 最大为-20)
priority(pri) 内核调度优先级
pmem 进程分享的物理内存数的百分比
trs 程序执行代码驻留大小
rss 进程使用的总物理内存数, Kbytes字节
time 进程执行起到现在总的CPU暂用时间
stat 进程状态
cmd(args) 执行命令的简单格式

例子:
查看当前系统进程的uid,pid,stat,pri, 以uid号排序.
ps -eo pid,stat,pri,uid --sort uid

查看当前系统进程的user,pid,stat,rss,args, 以rss排序.
ps -eo user,pid,stat,rss,args --sort rss

以下摘自CSDN论坛

在Linux下,还有一种方法检查某个进程是否存在:利用/proc文件系统. /proc/pid/stat里面有进程的状态,进程可执行文件名等.如果该文件不存在了,那进程肯定退出了.如果存在,可以检查状态和文件名是否正确.效率可能比PS还是高一些,因为/proc是虚拟文件系统,存在与内存中.

如何利用/proc文件系统
cat /proc/pid/status
这里pid是你的进程ID,看看输出结果,有一栏是State

你要利用/proc文件系统时,int fd = open( "/proc/pid/status", O_RDONLY );
这里pid是实际的进程的pid,如果open失败,刚进程显然不存在,然后读取该文件的内容,找出State

ps 命令查看进程状态相关推荐

  1. 使用ps命令查看进程状态

    使用ps命令查看进程状态 Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程 ...

  2. Linux下使用ps命令查看进程状态【ps常用命令】

    Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...

  3. ps命令查看进程状态

    在Linux下进程有5种状态: 运行状态(R) 正在运行或在运行队列中等待 睡眠状态(S) 休眠中, 进程在等待事件的完成 不可中断睡眠状态(D) 指的并不是CPU不影响外部硬件中断,而是指进程不影响 ...

  4. linux ps查看完整时间,Linux ps 命令查看进程启动及运行时间

    引言 同事问我怎样看一个进程的启动时间和运行时间,我第一反应当然是说用 ps 命令啦. ps aux或ps -ef不就可以看时间吗? ps aux选项及输出说明 我们来重新复习下ps aux的选项,这 ...

  5. ps命令 查看系统进程信息

    ps命令 查看系统进程信息 如果要对进程进行监控和控制,首先必须了解当前进程的情况,基本也就是需要查看当前进程,ps命令是最同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行.进程运 ...

  6. linux ps 命令s意义,ps命令输出进程状态S+的含义解析

    最近发现一个问题,ps命令输出里面进程状态为s+的含义,网上好多文章都说是表明进程"位于在后台进程组". 例如下面这个ps命令输出说明: d 不可中断 uninterruptibl ...

  7. linux进程状态都是s,ps命令输出进程状态S+的含义解析

    最近发现一个问题,ps命令输出里面进程状态为S+的含义,网上好多文章都说是表明进程"位于在后台进程组". 例如下面这个ps命令输出说明: D 不可中断 Uninterruptibl ...

  8. 监控io性能, free命令, ps命令, 查看网络状态, linux下抓包

    2019独角兽企业重金招聘Python工程师标准>>> 监控io性能 free命令 ps命令 查看网络状态 linux下抓包 --- 监控io性能 查看磁盘 iostat 和sar属 ...

  9. 启动容器后,即便映射了端口,使用docker ps 命令查看,ports列也是空

    问题 启动容器后,即便映射了端口,使用docker ps 命令查看,ports列也是空的,如下图 可能是docker网络没有配置好 简单排查问题 1.查看容器的网络配置 docker inspect ...

  10. 使用 ps 命令查看进程启动的精确时间和启动后所流逝的时间

    使用 ps 命令查看进程启动的精确时间和启动后所流逝的时间 回到引言中的问题,同事实际要问的是一个进程启动的精确时间和进程启动后所流逝的时间. 其实这 2 个时间也是可以通过 ps 命令输出的. 标识 ...

最新文章

  1. [转]文件IO详解(二)---文件描述符(fd)和inode号的关系
  2. wxWidgets:wxSizeEvent类用法
  3. ITK:过滤图像FilterImage
  4. 浅谈MaxCompute资源规划管理及评估
  5. java实现log4j_log4j在java中实现
  6. angular moment 倒计时_倒计时3天丨探寻日本室内设计之道
  7. 前端系统化学习【JS篇】:(一)浏览器简述
  8. git rebase 工作流
  9. 递归算法的基本理解以及基本算法,多行注释详解,适合编程小白,刚接触递归的编程新手
  10. Javacv录制视频
  11. 安装python Scipy库记录
  12. [Matlab-1]符号函数和数值函数
  13. SCDM学习笔记(4)
  14. 计算机类单位换算,计算机单位换算大全
  15. 电脑显示没有被指定在上运行_电脑显示“没有被指定在windows上运行,或者它包含错误”怎么解决?...
  16. Mac新手必备技巧之如何关闭Mac屏幕亮度自动调节功能
  17. Binder 机制详解—Binder Java框架(转自Cloud Chou's Tech Blog)
  18. 23.Consent 代码重构
  19. 基于模型的软件开发方法综述
  20. 人工智能AI讲师NLP培训讲师叶梓:人工智能之最新NLP自然语言处理技术与实战-23

热门文章

  1. L2TP 配置实例——CALL LNS
  2. Leetcode 刷题笔记(一) —— 数组类型解题方法一:二分法
  3. 求1--100的和 Python3实现
  4. Error connecting to database: No such file or directory
  5. 文本主题模型之LDA(二) LDA求解之Gibbs采样算法
  6. J2EE 读取资源文件properties的三种方式
  7. 将文本写在图片上,自定义字体,自动换行,自定义行间距
  8. [leetcode]Linked List Cycle @ Python
  9. 为什么要用火狐浏览器
  10. 交换排序 java_Java交换排序:冒泡排序和快速排序