diff options
author | Sergei Trofimov <sergei.trofimov@arm.com> | 2017-09-22 17:39:17 +0100 |
---|---|---|
committer | Sergei Trofimov <sergei.trofimov@arm.com> | 2017-09-27 10:44:44 +0100 |
commit | 96693a30354955b0037ba128bb0cf152e71020dd (patch) | |
tree | c582c4f3d41f08bbde4723b121fa1f1e402d03f9 | |
parent | d952abf52e4fbe1688b279a69ba3dee43897ed67 (diff) | |
download | devlib-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.py | 11 |
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')) |