linux 程序 状态查询,linux上进程状态查询

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(无驻留页),

列出类似程序树的程序显示(显示进程下有哪些子进程) 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值