aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimov <sergei.trofimov@arm.com>2017-09-22 17:39:17 +0100
committerSergei Trofimov <sergei.trofimov@arm.com>2017-09-27 10:44:44 +0100
commit96693a30354955b0037ba128bb0cf152e71020dd (patch)
treec582c4f3d41f08bbde4723b121fa1f1e402d03f9
parentd952abf52e4fbe1688b279a69ba3dee43897ed67 (diff)
downloaddevlib-96693a30354955b0037ba128bb0cf152e71020dd.tar.gz
AndroidTarget: fix get_pid_of for recent Androids
ps on recent Androids no longer takes an optional comm name; use Target.ps() instead, and filter by process name on the host.
-rw-r--r--devlib/target.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/devlib/target.py b/devlib/target.py
index 51826fb..fca798c 100644
--- a/devlib/target.py
+++ b/devlib/target.py
@@ -1011,11 +1011,12 @@ class AndroidTarget(Target):
self.uninstall_executable(name)
def get_pids_of(self, process_name):
- result = self.execute('ps {}'.format(process_name[-15:]), check_exit_code=False).strip()
- if result and 'not found' not in result:
- return [int(x.split()[1]) for x in result.split('\n')[1:]]
- else:
- return []
+ result = []
+ search_term = process_name[-15:]
+ for entry in self.ps():
+ if search_term in entry.name:
+ result.append(entry.pid)
+ return result
def ps(self, **kwargs):
lines = iter(convert_new_lines(self.execute('ps')).split('\n'))