一、前言 有时候我们会在Android设备中运行一些二进制文件。但是当这些文件运行在后台后,我们可能无法关闭他们。当我们希望获取到某个进程的pid,并通过kill命令停止他们时。一般做法我们使用ps命令查找想要的进程pid。
一、前言
有时候我们会在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}'
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
--结束END--
本文标题: ADB Shell:获取进程id
本文链接: https://www.lsjlt.com/news/407071.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-21
2023-10-28
2023-10-28
2023-10-27
2023-10-27
2023-10-27
2023-10-27
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0