美文网首页
Android ps命令详解

Android ps命令详解

作者: IT枫 | 来源:发表于2016-03-15 19:02 被阅读9670次

    ps(Process status )查看进程状态的命令,该命令显示瞬间进程的状态
    简单用法,直接adb shell ps命令

    localhost:~ name$ adb shell ps
    USER      PID   PPID  VSIZE  RSS   WCHAN              PC  NAME
    root      1     0     5368   1492  SyS_epoll_ 0000000000 S /init
    root      2     0     0      0       kthreadd 0000000000 S kthreadd
    root      3     2     0      0     smpboot_th 0000000000 S ksoftirqd/0
    root      5     2     0      0     worker_thr 0000000000 S kworker/0:0H
    root      7     2     0      0     smpboot_th 0000000000 S migration/0
    root      8     2     0      0     rcu_gp_kth 0000000000 S rcu_preempt
    root      9     2     0      0     rcu_gp_kth 0000000000 S rcu_bh
    root      56    2     0      0     down_timeo 0000000000 D blackbox_main_t
    shell     14905 4519  5996   1312           0 7f9b3f4114 R ps
    

    各字段的含义:

    USER 进程当前用户
    PID 进程ID
    PPID 父进程ID
    VSIZE 进程的虚拟内存大小,以KB为单位
    RSS 实际占用的内存大小,以KB为单位
    WCHAN 进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。
    PC Program Counter
    NAME 进程状态及名称

    休眠进程:这个是进程的状态,从上面打印的内容中可看出进程的状态
    进程状态有不同的值:

    D - 不可中断的睡眠态。
    R – 运行态
    S – 睡眠态
    T – 被跟踪或已停止
    Z – 僵尸态
    W - 进入内存交换(从内核2.6开始无效)
    X - 死掉的进程
    < - 高优先级
    N - 低优先级
    L - 有些页被锁进内存
    s - 包含子进程
    l - 多线程,克隆线程
    *+ - 位于后台的进程组 *

    program counter:计算机中提供要从[存储器]中取出的下一个指令地址的[寄存器]

    ps 命令参数:-P -p -t -x -c [pid] [name]

    -P 显示调度策略,通常是bg或fg,当获取失败将会是un和er
    -p 显示进程的优先级和nice等级
    -t 显示进程下的线程列表
    -x 显示进程耗费的用户时间和系统时间,格式:(u:0, s:0),单位:秒(s)
    -c 显示进程耗费的CPU时间 (可能不兼容Android 4.0以前的老版本系统)
    [pid] 过滤指定的进程PID
    [name] 过滤指定的进程NAME
    ps xxx 显示过滤指定名称的进程
    和Linux的ps不同,Linux的ps命令可以这样子:ps -aux,Android上ps的参数并不能一起使用,如ps -txPc.

    参考文章
    查看进程调度等级

    localhost:~ name$adb shell ps -P
    USER      PID   PPID  VSIZE  RSS   PCY WCHAN              PC  NAME
    root      1     0     5368   1492  fg  SyS_epoll_ 0000000000 S /init
    root      3056  1     4280   476   tv  SyS_epoll_ 0000000000 S /sbin/healthd
    u0_a58    5183  3261  1939580 86688 bg  SyS_epoll_ 0000000000 S com.huawei.secime
    

    比之前打印的内容多出了一列PCY,表示进程的调度等级

    Android进程调度状态:
    1.foreground process
    2.visible process
    3.Service process
    4.background process
    5.empty process

    相关文章

      网友评论

          本文标题:Android ps命令详解

          本文链接:https://www.haomeiwen.com/subject/zylqlttx.html