【并发编程】通过命令行获取线程信息
来源:互联网 发布:汇编语言 c语言 调用 编辑:程序博客网 时间:2024/05/16 06:23
命令
adb shell ps
- -t 查看进程中线程的信息
- -x 查看utime和stime
- -P 查看属性
- -p 查看调度策略,通常是查看一个app处于前台还是后台
- -c 查看哪一个CPU在执行这个进程
- name|pid 用名字或pid过滤
例子
(1) 查看包名为com.eat的线程,也就是com.eat应用的UI线程。
adb shell ps -t |grep com.eatapp_62 21964 141 127748 17012 ffffffff 00000000 S com.eat
UID: app_62 (程序安装的时候,系统分配的。Linux系统是多用户系统,在Android中,一个用户就相当一个应用程序。)
PID: 21964(进程ID)
PPID:141(这个是Zygote进程,因为所有的Android程序都是从这个进程“孵化”出来的。)
另外,也可以用DDMS去查看进程的信息。
(2) 查看app_62这个应用程序中所有的线程。
adb shell ps -t |grep app_62app_62 21964 141 127748 17012 ffffffff 00000000 S com.eatapp_62 21965 21964 127748 17012 ffffffff 00000000 S HeapWorkerapp_62 21966 21964 127748 17012 ffffffff 00000000 S GCapp_62 21967 21964 127748 17012 ffffffff 00000000 S Signal Catcherapp_62 21968 21964 127748 17012 ffffffff 00000000 S JDWPapp_62 21969 21964 127748 17012 ffffffff 00000000 S Compilerapp_62 21970 21964 127748 17012 ffffffff 00000000 S Binder Thread #app_62 21971 21964 127748 17012 ffffffff 00000000 S Binder Thread #
一个崭新的应用程序包括不下10个线程,大多数都是Dalvik的内部线程。从应用程序的角度,不需要关心它们。
除了com.eat以外的其他所有线程的PPID都是21966,也就是com.eat的PID。这是因为这些线程都是从UI线程孵化出来的。
要关心的有3个线程,分别为:
app_62 21964 141 127748 17012 ffffffff 00000000 S com.eatapp_62 21970 21964 127748 17012 ffffffff 00000000 S Binder Thread #app_62 21971 21964 127748 17012 ffffffff 00000000 S Binder Thread #
不难看出,com.eat是UI线程;另外2个Binder线程用来调用系统的一些服务,一个是ApplicationThead,一个是ViewRoo.W对象。
参考资料
http://blog.csdn.net/manoel/article/details/39500351
0 0
- 【并发编程】通过命令行获取线程信息
- 并发编程--线程信息的获取与设置
- Java并发编程示例(二):获取和设置线程信息
- Java并发编程示例(二):获取和设置线程信息
- [Java并发编程]-二、线程信息获取与设置
- Java并发编程-01-线程的创建和线程信息获取
- php通过SOCKET来并发获取信息
- Java并发编程实战--通过线程转储信息来分析死锁
- java并发编程-1.2线程信息获取和设置(ID,名称、优先级、状态)
- 通过线程门实现Java并发编程
- 通过编程获取Solaris的系统信息
- 通过编程获取Solaris的系统信息
- 编程通过WMI获取系统信息
- MASM32编程通过WMI获取杀毒软件信息
- windows核心编程-如何获取进程命令行信息
- Hbase通过命令行查询信息
- C# 网络编程之通过豆瓣API获取书籍信息
- Linux 网络编程之通过IP或者主机名获取信息
- 好论文是如何炼成的-林宙辰
- 黑马程序员_java api String类
- 大话数据结构学习之(一) 时间空间复杂度
- Oracle的本地网络服务名配置
- Java模拟Web登陆(Post模式)
- 【并发编程】通过命令行获取线程信息
- __attribute__((packed))详解
- halcon学习笔记——(10)从数字图像基础到halcon数据结构概述
- 李刚JavaScript视频学习-JSON
- mds的 labelIndex 静态预排序
- 普通投资者应如何参与股权众筹投融资
- remotepath != null 与 !TextUtils.isEmpty(remotepath) 的区别
- 编写Android.mk中的LOCAL_SRC_FILES,使其自动查找源文件,不需要手动添加
- Linux下NTP服务器端配置