一尘不染

adb:从adb shell中找到PID

linux

我正在尝试获取INSIDE adb shell进程的PID。所以,我正在做adb shell,这使我进入了android
shell。现在,如果要使用常规shell获取PID,我将使用

adb shell ps | grep android.process.acore | sed 's/\s\s*/ /g' | cut -d ' ' -f 2

要么

adb shell ps | grep android.process.acore | awk '{ print $2 }'

我得到了PID(一个数字-的第二个字段ps | grep android.process.acore)输出。

但是,如果我在android shell内运行上述命令(执行之后adb shell),则会分别得到/system/bin/sh: sed: not found/system/bin/sh: awk: not found错误。这意味着,这些命令在adb shell中不可用。但是,grep有效。

ps | grep android.process.acore内部的输出adb shell为:

XXX_x21   11826 441   502296 39028 ffffffff 4010ff6c S android.process.acore

我正在寻找号码11826。如何提取其中的号码adb shell

另外,如果有直接方法可以在adb shell中获取PID,请提供帮助。

问候,鲁米特


阅读 1556

收藏
2020-06-07

共1个答案

一尘不染

不确定是否可以直接获取PID,但是可以尝试以下操作

设置`ps | grep android.process.acore`
回声$ 2

这会影响将ps命令的输出设置为变量$ 1,$ 2,$ 3等。PID值位于$ 2中

2020-06-07