ADB:从ADB外壳中找到PID



我试图在ADB Shell中获取该过程的PID。因此,我正在做ADB外壳,这会让我进入Android外壳。现在,如果我要使用常规外壳获得PID,我将使用

adb shell ps | grep android.process.acore | sed 's/ss*/ /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有效。

adb shellps | grep android.process.acore的输出是:

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

我正在寻找编号11826。如何在adb shell中提取它?

另外,如果有直接的方法将PID获取ADB外壳内部。

,请提供帮助。

问候,Rumit

以6.0开头的Android版本已经包括pidof实用程序:

usage: pidof [-s] [-o omitpid[,omitpid...]] [NAME]...
Print the PIDs of all processes with the given names.
-s      single shot, only return one pid.
-o      omit PID(s)

不确定是否可以直接获得PID,但是您可以尝试以下

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

这具有将PS命令的输出设置为变量$ 1,$ 2,$ 3等的影响。PID值在$ 2

我尝试了这个,它似乎有效:

adb shell "set "ps | grep android.process.media"; kill -9 $2"
adb shell pidof [package name]

adb shell pidof -s [package name]

-s选项适用于单次,仅返回一个pid。

我尝试了这个,它似乎有效:

  1. adb shell
  2. ps -A | grep "android.process.acore"

相关内容

  • 没有找到相关文章

最新更新