I am trying to get the PID of the process INSIDE adb shell. So, I am doing adb shell which gets me to the android shell. Now, if I were to get the PID using a regular shell I would use
adb shell ps | grep android.process.acore | sed 's/\s\s*/ /g' | cut -d ' ' -f 2
OR
adb shell ps | grep android.process.acore | awk '{ print $2 }'
I get the PID (a numeric number - 2nd field of the ps | grep android.process.acore
) output.
However, if I run the above commands inside android shell(after doing adb shell
), I get /system/bin/sh: sed: not found
and /system/bin/sh: awk: not found
errors respectively. Which means, these commands are not available inside adb shell. However, grep works.
The output of the ps | grep android.process.acore
inside adb shell
is:
XXX_x21 11826 441 502296 39028 ffffffff 4010ff6c S android.process.acore
I am looking for the number 11826.
How can I extract it inside adb shell
?
Also, please help if there is a direct way to get the PID inside the adb shell.
Regards, Rumit
Not sure if you can get the PID directly however you can try the following
This has the affect of setting the output of the ps command into variables $1, $2, $3 etc. The PID value is in $2
Android versions starting with 6.0 already include
pidof
utility:I tried this one and it seems to work: