adb之ps命令用法

目录

  • 前言
  • 一、命令参数
  • 二、输出结果含义


前言

在adb shell终端,输入 ps,可查看手机当前所有的进程状态,其中ps的英文全称是Process Status。 ps命令对于分析系统异常情况时都是必备的技能,需要通过这个简单命令来查看系统真实的状态。

一、命令参数

  • -A: 显示所有进程,包括与控制终端无关的进程。
  • -a: 显示所有终端(与 -d 相反)。
  • -d: 显示所有进程,但不包括会话领导者。
  • -e: 显示所有进程(与 -A 选项相同)。
  • -g: 以进程组来显示进程。
  • -G: 以实际组名来显示进程(在sgid之前)。
  • -p: 根据指定的PID来显示进程。
  • -P: 根据父PID来显示进程。
  • -s: 在会话ID中显示进程。
  • -t: 附加到指定的TTY(终端)上的进程。
  • -T: 显示线程信息。
  • -u: 根据指定的用户名来显示进程。
  • -U: 根据实际用户名来显示进程(在suid之前)。

上面的参数可根据需要自由组合,比如查看系统中所有进程的基本信息:
adb shell ps -A

查看特定进程的线程信息(以PID为例,可以在ps命令或其他命令中获取特定进程的PID):
adb shell ps -T < PID>

1|trinket:/ # ps -T 31144
USER           PID   TID  PPID     VSZ    RSS WCHAN            ADDR S CMD
u0_a115      31144 31144   597 5707888  96156 SyS_epoll+          0 S mservice:remote
u0_a115      31144 31150   597 5707888  96156 futex_wai+          0 S Jit thread pool
u0_a115      31144 31155   597 5707888  96156 do_sigtim+          0 S Signal Catcher
u0_a115      31144 31156   597 5707888  96156 poll_sche+          0 S ADB-JDWP Connec
u0_a115      31144 31157   597 5707888  96156 futex_wai+          0 S HeapTaskDaemon
u0_a115      31144 31158   597 5707888  96156 futex_wai+          0 S ReferenceQueueD
u0_a115      31144 31159   597 5707888  96156 futex_wai+          0 S FinalizerDaemon
u0_a115      31144 31160   597 5707888  96156 futex_wai+          0 S FinalizerWatchd
u0_a115      31144 31161   597 5707888  96156 binder_io+          0 S Binder:31144_1
u0_a115      31144 31162   597 5707888  96156 binder_io+          0 S Binder:31144_2
u0_a115      31144 31165   597 5707888  96156 binder_io+          0 S Binder:31144_3
u0_a115      31144 31173   597 5707888  96156 futex_wai+          0 S Profile Saver
u0_a115      31144 31175   597 5707888  96156 binder_io+          0 S HwBinder:31144_
u0_a115      31144 31232   597 5707888  96156 binder_io+          0 S Binder:31144_4
u0_a115      31144 31233   597 5707888  96156 SyS_epoll+          0 S queued-work-loo

查看所有普通应用程序,老版本android是单用户的,所以用户普通进程的user都是以u0开头的,google有意把android发展成支持多用户的,现在已经有u1, u2_等等的用户名,另外普通app的uid是从10000开始:

ps -A |grep u0
u0_a111       2036   597 6654872 199308 SyS_epoll_wait      0 S com.android.systemui
u0_a112       2401   597 6294320 164404 SyS_epoll_wait      0 S com.android.launcher3
u0_a56        2477   597 5758552  91156 SyS_epoll_wait      0 S android.ext.services
u0_a130       2560   597 5770632 109984 SyS_epoll_wait      0 S com.android.inputmethod.latin
u0_a89        3035   597 5770064  95024 SyS_epoll_wait      0 S com.qualcomm.qti.sva
u0_a97        3090   597 5717908  89052 SyS_epoll_wait      0 S .pasr
u0_a119       3131   597 5735684  92332 SyS_epoll_wait      0 S com.qualcomm.qti.services.systemhelper:systemhelper_service
u0_a88        3353   597 5651104  83940 SyS_epoll_wait      0 S com.android.smspush
u0_a48        3652   597 5803580 103868 SyS_epoll_wait      0 S android.process.media
u0_a118       4427   597 5704704  83668 SyS_epoll_wait      0 S com.qualcomm.qti.callenhancement
u0_a135       5277   597 5722432  87816 SyS_epoll_wait      0 S com.qualcomm.telephony
u0_a58       11871   597 6139768 160692 SyS_epoll_wait      0 S org.codeaurora.snapcam
u0_a138      12967   597 5633764  89704 SyS_epoll_wait      0 S org.chromium.webview_shell
u0_a168      13165   597 5678620 103000 SyS_epoll_wait      0 S com.quectel.cardiagnosis
u0_a162      13199   597 5844304 180444 SyS_epoll_wait      0 S com.example.hxplay
u0_a144      13233   597 5835764 146244 SyS_epoll_wait      0 S com.henry.basic
u0_a63       19299   597 5679996  82448 SyS_epoll_wait      0 S com.android.cellbroadcastreceiver
u0_a81       19936   597 5679012  86284 SyS_epoll_wait      0 S com.android.printspooler
u0_a51       19949   597 5722976  95068 SyS_epoll_wait      0 S com.android.providers.calendar
u0_a44       28312   597 5748860 106720 SyS_epoll_wait      0 S android.process.acore
u0_a160      28563   597 5748916 119836 SyS_epoll_wait      0 S com.android.audiotest
u0_a140      28725   598 1879448  90096 SyS_epoll_wait      0 S com.android.webview:webview_service
u0_a52       28851   597 5802572 138512 SyS_epoll_wait      0 S com.android.permissioncontroller
u0_a106      30983   597 5771068  99520 SyS_epoll_wait      0 S com.android.dialer
u0_a115      31144   597 5707888  96156 SyS_epoll_wait      0 S com.qualcomm.qti.seccamservice:remote

二、输出结果含义

例如,在手机输出如下命令:(20671是某个进程pid)

 ps -A |grep -E "NAME| 13199 "
USER           PID  PPID     VSZ    RSS WCHAN            ADDR S NAME
u0_a162      13199   597 5844304 180444 0     0 S com.example.hxplay

结果分析:

字段含义
USER所有者用户的用户名,表示运行进程的用户。u0_a162
PID进程ID(Process ID),唯一标识每个进程的数字。13199
PPID父进程ID(Parent Process ID),标识创建当前进程的父进程的ID。597
VSZ虚拟内存大小(Virtual Memory Size),进程当前使用的虚拟内存大小(以KB为单位)。5844304
RSS常驻集大小(Resident Set Size),表示进程占用的物理内存大小(以KB为单位)。180444
WCHAN当前等待的内核函数(The name of the kernel function in which the process is sleeping)。0
ADDR内存地址(Memory Address),进程的内存地址。0
S进程状态,表示进程的当前状态,此处为"S"表示休眠(sleeping)状态。S
NAME命令名(Command Name),表示进程的名称或命令。com.example.hxplay

注: WCHAN值为0代表进程处于运行态;否则代表内核地址(休眠态)。

参考链接:

adb中ps命令的详解

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

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

相关文章

12.IO相关概念

NIO 非阻塞IO BIO 阻塞IO stream vs channel 1.stream不会自动缓冲数据;channel会利用系统提供的发送缓冲区,接受缓冲区,更为底层。 2.stream仅支持阻塞API;channel同时支持阻塞、非阻塞API,网络channel可配合selector实现多路复用。 3.二者均为全双工,即读写可以同…

Golang 依赖注入库Wire应用案例

文章目录 简介Github指南安装案例wire.NewSetwire.Buildwire.Bindwire.Structwire.Valuewire.InterfaceValue 简介 Go语言的依赖注入库Wire是由Google提供的一个代码生成工具&#xff0c;用于简化和自动化依赖注入过程。Wire主要通过生成代码来处理依赖关系&#xff0c;而不是…

上网行为管理产品有哪些?好用的四款上网行为管理产品

上网行为管理产品是现代企业网络安全架构中的重要组成部分&#xff0c;它们旨在帮助企业有效监控、管理和控制员工的网络使用行为&#xff0c;确保网络资源的合理利用&#xff0c;保障信息安全&#xff0c;提升工作效率。 以安企神为例&#xff0c;我们将详细介绍它的主要功能…

【内存管理之C语言数组】

1.栈空间上的C数组 糟糕的可用性&#xff0c;但是你将在遗留代码中见到它们 相同类型的对象的内存块 大小必须是常量表达式 第一个元素索引为0 2.指针和C数组 更奇怪的是&#xff1a;数组标识符退化为指向第一个元素的指针 3.访问数组 4.堆空间上的C数组 相同类型的对象的内…

SSM情侣购物系统-计算机毕业设计源码02387

目 录 摘要 1 绪论 1.1 开发背景与意义 1.2开发意义 1.3Vue.js 主要功能 1.3论文结构与章节安排 2 情侣购物系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据流程 3.3.2 业务流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分…

【定义通讯数据类型】LCM搭建系统通讯

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言LCM介绍前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 推荐开发经验及方法博客专栏: https://blog.csdn.net/…

Qwen2的各模型性能、占用显存和推理速度比较(摘自官方文档)

Qwen2的各模型性能、占用显存和推理速度比较&#xff08;摘自官方文档&#xff09; 性能 推理速度&#xff08;从大到小&#xff09; 72B 57B-A14B 7B 1.5B 0.5B

5、闭环检测

闭环检测&#xff08;Loop Closure Detection&#xff09; 闭环检测&#xff08;Loop Closure Detection&#xff09;是SLAM&#xff08;同步定位与地图构建&#xff09;系统中的一个关键步骤。它的主要目的是检测出机器人&#xff08;或相机&#xff09;是否再次访问了先前已…

NLP - word2vec详解

Word2Vec是一种用于将词汇映射到高维向量空间的自然语言处理技术。由Google在2013年提出&#xff0c;它利用浅层神经网络模型来学习词汇的分布式表示。Word2Vec有两种主要模型&#xff1a;CBOW&#xff08;Continuous Bag of Words&#xff09;和Skip-gram。 1. 模型介绍 Con…

【MySQL】数据库介绍|数据库分类|MySQL的基本结构|MySQL初步认识|SQL分类

目录 数据库介绍 什么是数据库 数据库分类 1.关系型数据库&#xff08;RDBMS&#xff09;&#xff1a; 2.非关系型数据库&#xff1a; MySQL要学啥 MySQL初步认识 SQL分类 &#x1f4a1;推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风…

59.WEB渗透测试-信息收集- 端口、目录扫描、源码泄露(7)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;58.WEB渗透测试-信息收集- 端口、目录扫描、源码泄露&#xff08;6&#xff09; 关于御剑…

QStateMachine 笔记

QStateMachine 是 Qt 框架中用于实现状态机的类。状态机是一种模型&#xff0c;它由一系列状态组成&#xff0c;每个状态对应于系统的一个特定行为模式。状态机可以根据外部事件或内部条件在不同的状态之间转换。 基本概念&#xff1a; 状态&#xff08;State&#xff09;‌&…

改进rust代码的35种具体方法-类型(二十三)-避免通配符导入

上一篇文章-改进rust代码的35种具体方法-类型(二十二)-最小化可见度 Rust的use语句从另一个板条箱或模块中提取命名项目&#xff0c;并使该名称无需条件即可在本地模块的代码中使用。表单的通配符导入&#xff08;或glob导入&#xff09;use somecrate::module::*表示&#xff…

【TB作品】STM32F102C8T6单片机,PWM发生器

硬件&#xff1a; STM32F102C8T6核心板&#xff0c;按键&#xff0c;0.96 OLED显示屏。 软件&#xff1a; 1、硬件启动触发单片机输出PWM&#xff0c;未触发之前PWM输出为低电平。 2、按键修改PWM的变化模式、变化时间长度、占空比上下限。 3、输出的PWM是固定的10kHZ的。 4、变…

【万方数据库爬虫简单开发(自用)】

万方数据库爬虫简单开发&#xff08;自用&#xff09;&#xff08;一&#xff09; 使用Python爬虫实现万方数据库论文的搜索并获取信息1.获取url2.输入关键词3.使用BeautifulSoup解析4.获取文章标题信息 使用Python爬虫实现万方数据库论文的搜索并获取信息 后续会逐步探索更新…

洗地机哪款好?洗地机十大名牌排行榜

随着科技的发展&#xff0c;各种家居清洁工具层出不穷&#xff0c;为我们的生活带来了诸多便利。在众多清洁工具中&#xff0c;洗地机的清洁效果更受大家喜爱&#xff0c;它能够完美解决了扫地机无法做到的干湿垃圾“一遍清洁”效果&#xff0c;而且几乎能解决日常生活中所有的…

k8s 小技巧: 查看 Pod 上运行的容器

目录 1. 示例 Pod 的定义文件2. kubectl describe pod&#xff08;推荐&#xff09;3. kubectl get pod3.1 json 格式3.2 yaml 格式 4. 其他操作 1. 示例 Pod 的定义文件 # 文章中所用 pod 的 yaml 定义文件&#xff0c; multi-container.yaml apiVersion: v1 kind: Pod metad…

Vector的底层结构剖析

vector的介绍&#xff1a; 1.Vector实现了List接口的集合。 2.Vector的底层也是一个数组,protected Object[] elementData; 3.Vector 是线程同步的&#xff0c;即线程安全&#xff0c;Vector类的操作方法带有Synchronized. 4.在开发中&#xff0c;需要线程同步时&#xff0…

flutter EventBus

#配置文件中 先 引入 event_bus: ^2.0.0 1.封装一个类 便于直接调用 import package:event_bus/event_bus.dart; class EvenBlueUtil{static EventBus eventBus EventBus();static EventBus eventBusUpdate EventBus();}class UserLoggedInEvent {var user;UserLoggedInEve…

加州大学系统有几所分校?它们怎么样?

The University of California (UC) system 中文版 加州大学系统&#xff08;University of California, UC&#xff09;是美国加利福尼亚州的一个著名公立大学系统&#xff0c;共有十所分校。以下是每所分校的简介和它们的特点&#xff1a; 1. 加州大学伯克利分校&#xff…