ADB Shell:获取进程id
一、前言
有时候我们会在Android设备中运行一些二进制文件。但是当这些文件运行在后台后,我们可能无法关闭他们。当我们希望获取到某个进程的pid,并通过kill命令停止他们时。一般做法我们使用ps命令查找想要的进程pid。但是当我们需要在我们的应用中做到这点,则需要准确地获取到进程pid。
二、命令
ps -eo COMM,PID,PPID,COMMAND|grep -E "^($regex)"|awk '{if ($2 ~ /^\(deleted\)$/) print $1 " " $3 " " $4 " " $5; else print $1 " " $2 " " $3 " " $4}'
- ps命令:列出用户进程列表
- -e:同-A,列出所有进程
- -o:输出字段而不是默认值,每个字段都有可选的
- COMM :可运行程序的文件名
- PID:进程ID
- PPID:父进程ID
- COMMAND:可运行程序的路径(可以根据这个确定是否是我们找寻的程序)
grep -E "^($regex)" 是用于过滤ps命令的结果,$regex是正则表达式,例如我要找寻开头是smbd和nmbd的进程,则可以写成grep -E "^(smbd|nmbd)"
awk命令是用于规范化输出结果。上面的ps命令会输出以下两种结果:
第一种:
smbd 5756 1 /data/data/com.xxx.xxx/files/bin/smbd
smbd 5758 5756 /data/data/com.xxx.xxx/files/bin/smbd
smbd 5759 5756 /data/data/com.xxx.xxx/files/bin/smbd
smbd 5773 5756 /data/data/com.xxx.xxx/files/bin/smbd
nmbd 5777 1 /data/data/com.xxx.xxx/files/bin/nmbd第二种(进程运行后源文件被删除):
smbd (deleted) 5756 1 /data/data/com.xxx.xxx/files/bin/smbd (deleted)
smbd (deleted) 5758 5756 /data/data/com.xxx.xxx/files/bin/smbd (deleted)
smbd (deleted) 5759 5756 /data/data/com.xxx.xxx/files/bin/smbd (deleted)
smbd (deleted) 5773 5756 /data/data/com.xxx.xxx/files/bin/smbd (deleted)
nmbd (deleted) 5777 1 /data/data/com.xxx.xxx/files/bin/nmbd (deleted)所以最后需要通过awk命令规范第二种输出的结果。
三、命令执行结果参考
这里仅截取了一部分
sh 2753 1274 /system/bin/shinstaller 2755 2753 /data/local/tmp/.studio/bin/installerabb 2771 1274 /system/bin/abbapp_process64 2786 424 /system/bin/app_process64logcat 3178 1274 /system/bin/logcat[kworker/5:0-pm] 3183 2 [kworker/5:0-pm][kworker/1:0-events] 3448 2 [kworker/1:0-events][kworker/u17:5-csf_scheduler_gpu_idle_] 3556 2 [kworker/u17:5-csf_scheduler_gpu_idle_][kworker/0:2-events] 3579 2 [kworker/0:2-events][kworker/5:1H-events_highpri] 3614 2 [kworker/5:1H-events_highpri][kworker/2:0H-kblockd] 3631 2 [kworker/2:0H-kblockd][kworker/0:1H-mmc_complete] 3916 2 [kworker/0:1H-mmc_complete]sh 3917 1274 /system/bin/shvm 3919 3917 /system/bin/vmvm 3920 3919 /system/bin/vmvm 3922 1 /system/bin/vmvm 3924 3922 /system/bin/vmsh 3926 3924 /system/bin/shsh 4000 1414 /system/bin/shapp_process64 4015 424 /system/bin/app_process64app_process64 4062 424 /system/bin/app_process64pure-ftpd 4217 1 /data/user/0/com.station.pluginscenter/files/modules/pure-ftpd/pure-ftpdwebdav 4415 1 /data/user/0/com.station.pluginscenter/files/modules/station_webdav/webdavweb-server 4534 1 /data/user/0/com.station.pluginscenter/files/modules/webserver/web-server[kworker/7:0-pm] 4575 2 [kworker/7:0-pm]
来源地址:https://blog.csdn.net/jokers9221/article/details/130422264
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341