linux上进程状态查询

From: http://www.cnblogs.com/dkblog/archive/2011/03/11/1980556.html


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 -axjf

找出与 cron 与 syslog 这两个服务有关的 PID 号码

ps aux | egrep '(cron|syslog)'

也可以这样使用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



在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


------------------------------------------------------------------------------------------------------------------------------

From: http://blog.chinaunix.net/space.php?uid=25085157&do=blog&id=332473

附:

PROCESS STATE CODES
Here are the different values that the s, stat and state output specifiers (header "STAT" or "S") will display to describe the state of a process.
D    Uninterruptible sleep (usually IO)
R    Running or runnable (on run queue)
S    Interruptible sleep (waiting for an event to complete)
T    Stopped, either by a job control signal or because it is being traced.
W    paging (not valid since the 2.6.xx kernel)
X    dead (should never be seen)
Z    Defunct ("zombie") process, terminated but not reaped by its parent.

For BSD formats and when the stat keyword is used, additional characters may be displayed:
<    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



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405839.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 3.9特性,开发者应该知道的Python 3.9新特性

导读&#xff1a;Python 3.9来了&#xff0c;有哪些新特性值得学&#xff0c;值得用&#xff1f;Python 2.9(5.10.2020)已经发布了一段时间&#xff0c;最后一个Alpha版(3.9.0a5)近期发布了测试版。开发者应该看新版有哪些新功能&#xff0c;改进和修复。安装测试版本节尝鲜安装…

React开发(193):react无障碍使用程序获取焦点第一种

class CustomTextInput extends React.Component {constructor(props) {super(props);// 创造一个 textInput DOM 元素的 ref this.textInput React.createRef(); }render() {// 使用 ref 回调函数以在实例的一个变量中存储文本输入 DOM 元素//&#xff08;比如&#xff…

Oracle发布更新使数据库性能优化达到75%

甲骨文公司今天在甲骨文全球技术与应用大会&#xff08;Oracle OpenWorld&#xff09;上宣布&#xff0c;为优化Oracle软件和硬件而推出一款快速、现代和可靠的Linux内核——Oracle Unbreakable企业级内核&#xff08;Unbreakable Enterprise Kernel&#xff09;。 Oracle Unbr…

python一维数组定义,python一维数组保存

python中向一维数组添加元素的方法例如爬虫爬取到的数据只有[b11dab7a2f48d131fc9c26678636294381aedd41&#xff0c;供参考&#xff1a; old_array [b11dab7a2f48d131fc9c26678636294381aedd41, 5183353435e0a7b1681010bd71d3d7791492685e]new_array [magnet:?xturn:btih: …

mount NTFS FOR RHEL5

2019独角兽企业重金招聘Python工程师标准>>> USB的支持关键在于驱动&#xff0c;没有驱动设备时mount执行是肯定不成的。 1. 先别插U盘&#xff0c;/sbin/lsmod看是否有usb-storage。如果没有的话&#xff1a; cd /lib/modules/2.4.20-8/kernel/drivers/usb for v i…

NFS服务器配置

From: http://hi.baidu.com/hp_roc/blog/item/2e461103588275dc277fb516.html 【实验内容】 NFS&#xff08;Network File System&#xff09;主要实现了Linux系统之间的资源共享。它是将某台Linux主机的若干目录共享出来&#xff0c;交由其他Linux主机直接使用。本实验用于通…

[C1] 优化 C1FlexGrid 单元格边框

一 优化理由 如下图所示&#xff0c;如果按照 C1FlexGrid 自带的单元格边框设置&#xff0c;即对每个单元格的 CellStyle 的 BorderThickness 进行设置&#xff0c;会得到如下图的效果&#xff1a; 其中&#xff0c;明显可以看到如果两个相邻的单元格同时设置了那条相邻的边&a…

php fakepath,在文件上载中获取真实路径而不是“fakepath”

因为我的目标是让最终用户看到上传的文件名,然后通过php mail()函数发送,所以我所做的就是:在JS文件中旧功能:var fileuploadinit function(){$(#career_resume).change(function(){var pathwithfilename $(#career_resume).val();$(.uploadedfile).html("Uploaded File…

Source Insight经典教程

From: http://blog.21ic.com/user1/4251/archives/2008/53650.html Source Insight实质上是一个支持多种开发语言&#xff08;java,c ,c 等等&#xff09;的编辑器&#xff0c;只不过由于其查找、定位、彩色显示等功能的强大&#xff0c;常被我们当成源代码阅读工具使用。 作…

Android 中文 API (29) —— CompoundButton

前言本章内容是android.widget.CompoundButton&#xff0c;翻译来自德罗德&#xff0c;再次感谢德罗德 &#xff01;期待你一起参与Android API 的中文翻译&#xff0c;联系我over140gmail.com。 声明 欢迎转载&#xff0c;但请保留文章原始出处:) 博客园&#xff1a;http://w…

php object oriented,PHP学习记录之面向对象(Object-oriented programming,OOP)基础【接口、抽象类、静态方法等】...

本文实例讲述了PHP面向对象(Object-oriented programming&#xff0c;OOP)基础。分享给大家供大家参考&#xff0c;具体如下&#xff1a;我们可以使用接口(interface)&#xff0c;指定某个类必须实现哪些方法&#xff0c;但不需要定义这些方法的具体内容&#xff0c;我们可以通…

Java虚拟机-内存分配策略

Java技术体系中所提倡的自动内存管理策略最终可以归结为自动化地解决了两个问题&#xff1a;给对象分配内存以及回收分配给对象的内存&#xff1b; 几条普遍的分配规则&#xff1a;1、对象优先在Eden区分配年轻代分为三个区&#xff1a;1个Eden区2个Survivor区。大部分对象在Ed…

Source Insight常用的快捷键

From: http://blog.21ic.com/user1/4251/archives/2008/53650.html Source Insight常用的快捷键&#xff1a; Ctrl :Jump to definition Ctrl/ :Look up reference F3 : search backward F4 : search forward F5: go to Line F7 :Look up symbols F8 :Look up local symbols F…

ubuntu 安装fcitx输入法(3.6和4.0bate)

Ubuntu 10.10默认安装的输入法是ibus&#xff0c;在安装中文语言包&#xff08;http://blog.csdn.net/wangjingfei/archive/2010/05/21/5614203.aspx)之后就可以使用。但是查看了一些网上的资料说是ibus有很多问题&#xff0c;例如会造成Linux QQ崩溃等。不知道是ibus的问题还是…

php在菜单栏里加子菜单,WordPress后台添加子菜单add_submenu_page()

接上文&#xff1a;WordPress后台添加顶级菜单add_menu_page()&#xff0c;今儿再分享一下在 wordpress 后台侧边栏添加子菜单的方法&#xff0c;用到的函数是&#xff1a;add_submenu_page()函数用法&#xff1a;add_submenu_page( $parent_slug, $page_title, $menu_title, $…

C#String详解

字符串&#xff1a;stringLength - 字符串的长度。 TrimStart() 压缩空格即消除字符串开始空格TrimEnd() 消除结尾空格Trim() 同时消除开头和结尾空格。注&#xff1a;中间空格不消除&#xff0c;因为英文单词之间用空格隔开。 ToUpper() 全部变大写ToLower() 全部变小写 Repl…

linux modprobe命令参数及用法详解--linux加载模块命令

From: http://www.linuxso.com/command/modprobe.html modprobe(module probe) 功能说明&#xff1a;自动处理可载入模块。 语  法&#xff1a;modprobe [-acdlrtvV][--help][模块文件][符号名称 符号值] 补充说明&#xff1a;modprobe可载入指定的个别模块&#xff0c;…

fedora下安装pps

fedora下安装pps成功&#xff0c;官方下载的deb包解压&#xff0c;然后手动安装。大致讲一下方法&#xff0c;如下&#xff1a;到官方下载deb包&#xff0c;右键解压后&#xff0c;进入解压的文件夹&#xff0c;将两个tar包解压&#xff0c;得到etc,opt,usr,三个文件夹&#xf…