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.mfbz.cn/a/712723.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CleanMyMac占用内存大吗 CleanMyMac如何释放内存空间

Mac OS上内存可谓是“寸土寸金”&#xff0c;每一M的内存都是真金白银换来的。为了有更充足的系统空间&#xff0c;有用户会使用系统清理和优化工具CleanMyMac&#xff0c;那么下面我们来看看CleanMyMac占用内存大吗&#xff0c;CleanMyMac如何释放内存空间的相关内容吧。 一、…

spring boot配置ssl证书,支持https访问

1. 阿里云官网下载证书,云控制台搜索ssl&#xff0c;点击进入。 2.点击免费证书&#xff0c;立即购买。 3. 点击创建证书&#xff0c;填写完证书申请后&#xff0c;等待证书签发。 4. 证书签发以后&#xff0c;点击下载证书&#xff0c;spring boot选tomcat服务器类型的。 5. …

Linux应用编程 - i2c-dev操作I2C

嵌入式Linux操作I2C设备&#xff0c;我们一般会在内核态编写I2C驱动程序。另外还能在用户空间编写I2C程序&#xff0c;下面介绍相关代码的实现。 i2c-dev框架在内核中封装了I2C通信所需要的所有通信细节&#xff0c;I2C适配器会在/dev目录下创建字符设备&#xff0c;例如&#…

如何避免销售飞单私单!教你如何巧妙避开陷阱,业绩飙升!

明明投入了大量的时间和精力&#xff0c;客户却悄无声息地消失了&#xff1f;或是突然有一天&#xff0c;你发现原本属于你的订单被同事悄悄抢走&#xff1f;这背后&#xff0c;很可能隐藏着销售飞单私单的陷阱。今天&#xff0c;就让我们一起探讨如何巧妙避开这些陷阱&#xf…

TCP与UDP案例

udp不会做拆分整合什么的 多大就是多大

MyBatis使用Demo

文章目录 01、Mybatis 意义02、Mybatis 快速入门04、Mapper 代理开发05、Mybatis 配置文件07、查询所有&结果映射08、查询-查看详情09、查询-条件查询10、查询-动态条件查询多条件动态查询单条件动态查询 11、添加&修改功能添加功能修改功能 12、删除功能删除一个批量删…

【html】学会这一套布局,让你的网页更加

很多小伙伴们在刚刚开始学习网页设计的时候不知道怎么布局今天给大家介绍一种非常实用且更加专业的一种布局。 灵感来源&#xff1a; 小米官网 布局图; 实例效果图&#xff1a; 这是一个简单的HTML模板&#xff0c;包括头部、内容区域和底部。 头部部分包括一个分为左右两部分…

【记录】ChatGLM3-6B大模型部署、微调(二):微调

前言 上文记录了ChatGLM3-6B大模型本地化部署过程&#xff0c;本次对模型进行微调&#xff0c;目的是修改模型自我认知。采用官方推荐微调框架&#xff1a;LLaMA-Factory 安装LLaMA-Factory # 克隆项目 git clone https://github.com/hiyouga/LLaMA-Factory.git 安装依赖 # 安装…

Linux---系统的初步学习【项目一:Linux操作系统的安装与配置】

项目一 Linux操作系统的安装与配置 1.1 项目知识准备 1.1.1 操作系统是什么&#xff1f; ​ 操作系统&#xff08;Operating System&#xff0c;OS&#xff09;是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理硬件、决定程序运行的优先次序、管理文件系统等…

逻辑斯蒂回归与最大熵

知识树 感知机的缺陷 修补感知机缺陷-逻辑斯蒂回归 下面这两个值是强制给的,不是推导的 最大熵 最大熵的一个小故事 最大熵模型 我们最终目标是要求P(Y|X) 书上写的是H,但是2我们认为H(Y|X)更合适 咱们最终的目的是要用拉格朗日乘数法,所以需要约束 总结 感觉深度之眼比较模…

汽车级TPSI2140QDWQRQ1隔离式固态继电器,TMUX6136PWR、TMUX1109PWR、TMUX1133PWR模拟开关与多路复用器(参数)

1、TPSI2140-Q1 是一款隔离式固态继电器&#xff0c;专为高电压汽车和工业应用而设计。 TPSI2140-Q1 与 TI 具有高可靠性的电容隔离技术和内部背对背 MOSFET 整合在一起&#xff0c;形成了一款完全集成式解决方案&#xff0c;无需次级侧电源。 该器件的初级侧仅由 9mA 的输入电…

Studio One 6.6.2 for Mac怎么激活,有Studio One 6激活码吗?

如果您是一名音乐制作人&#xff0c;您是否曾经为了寻找一个合适的音频工作站而苦恼过&#xff1f;Studio One 6 for Mac是一款非常适合您的MacBook的音频工作站。它可以帮助您轻松地录制、编辑、混音和发布您的音乐作品。 Studio One 6.6.2 for Mac具有直观的界面和强大的功能…

Zookeeper: 配置参数解读

Zookeeper中的配置文件zoo.cfg中参数含义解读如下&#xff1a; tickTime&#xff1a;通信心跳时间&#xff0c;Zookeeper服务器与客户端心跳时间&#xff0c;单位毫秒。 initLimit: LF初始通信时限 Leader和Follower初始连接时能容忍的最多心跳数。 syncLimit: LF同步通信时…

算法01 递推算法及相关问题详解【C++实现】

目录 递推的概念 训练&#xff1a;斐波那契数列 解析 参考代码 训练&#xff1a;上台阶 参考代码 训练&#xff1a;信封 解析 参考代码 递推的概念 递推是一种处理问题的重要方法。 递推通过对问题的分析&#xff0c;找到问题相邻项之间的关系&#xff08;递推式&a…

mongodb 集群安装

1. 配置域名 Server1&#xff1a; OS version: CentOS Linux release 8.5.2111 hostnamectl --static set-hostname mongo01 vi /etc/sysconfig/network # Created by anaconda hostnamemong01 echo "192.168.88.20 mong1 mongo01.com mongo02.com" >> /…

用GAN网络生成彩票号码

1. 前言 生成对抗网络&#xff08;GAN&#xff0c;Generative Adversarial Network&#xff09;是由Ian Goodfellow等人在2014年提出的一种深度学习模型&#xff0c;用于学习和生成与真实数据分布相似的数据。GAN由生成器&#xff08;Generator&#xff09;和判别器&#xff08…

Python编程环境搭建

简介&#xff1a; Python环境安装比较简单&#xff0c;无需安装其它依赖环境&#xff0c;主要步骤为&#xff1a; 1. 下载并安装Python对应版本解释器 2. 下载并安装一个ide编码工具 一、下载并安装Python解释器 1.1 下载 官网地址&#xff1a;Welcome to Python.org 选择…

STM32-CAN

一、CAN总线简介 1.1 CAN简介 CAN 是 Controller Area Network 的缩写&#xff08;以下称为 CAN&#xff09;&#xff0c;是 ISO 国际标准化的串行通信 协议。异步半双工。 ISO11898&#xff1a;123kbps~1Mbps。 ISO11519&#xff1a;125kbps 特点&#xff1a; 多主控制没…

Dify源码本地部署启动

背景 Dify是一个开源LLM应用程序开发平台。Dify的直观界面结合了人工智能工作流、RAG管道、代理功能、模型管理、可观察性功能等&#xff0c;让您快速从原型到生产。 Dify提供在线试用功能&#xff0c;可以直接在线体验其功能。同时也支持docker部署&#xff0c;源码部署等方…

【Vue】Pinia管理用户数据

Pinia管理用户数据 基本思想&#xff1a;Pinia负责用户数据相关的state和action&#xff0c;组件中只负责触发action函数并传递参数 步骤1&#xff1a;创建userStore 1-创建store/userStore.js import { loginAPI } from /apis/user export const useUserStore defineStore(…