1
0
mirror of https://github.com/ARM-software/devlib.git synced 2025-05-07 08:34:34 +01:00

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.
This commit is contained in:
Sergei Trofimov 2017-09-22 17:39:17 +01:00
parent d952abf52e
commit 96693a3035

@ -1011,11 +1011,12 @@ class AndroidTarget(Target):
self.uninstall_executable(name) self.uninstall_executable(name)
def get_pids_of(self, process_name): def get_pids_of(self, process_name):
result = self.execute('ps {}'.format(process_name[-15:]), check_exit_code=False).strip() result = []
if result and 'not found' not in result: search_term = process_name[-15:]
return [int(x.split()[1]) for x in result.split('\n')[1:]] for entry in self.ps():
else: if search_term in entry.name:
return [] result.append(entry.pid)
return result
def ps(self, **kwargs): def ps(self, **kwargs):
lines = iter(convert_new_lines(self.execute('ps')).split('\n')) lines = iter(convert_new_lines(self.execute('ps')).split('\n'))