rum*_*tel 5 linux bash shell android adb
我正在尝试获取进程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
Run Code Online (Sandbox Code Playgroud)
要么
adb shell ps | grep android.process.acore | awk '{ print $2 }'
Run Code Online (Sandbox Code Playgroud)
我得到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
Run Code Online (Sandbox Code Playgroud)
我正在寻找号码11826.我怎样才能在里面提取它adb shell?
另外,如果有直接的方法在adb shell中获取PID,请提供帮助.
问候,Rumit
Ste*_*eet 14
不确定您是否可以直接获得PID,但您可以尝试以下方法
set `ps |grep android.process.acore` echo $2
这具有将ps命令的输出设置为变量$ 1,$ 2,$ 3等的效果.PID值为$ 2
从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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23258 次 |
| 最近记录: |