Handle /proc/.../maps being reordered

We now search for the first r-xp line in the file
This commit is contained in:
Matt Johnston
2022-02-03 22:13:06 +08:00
parent 9124997602
commit 26feb8f13e
2 changed files with 5 additions and 4 deletions

View File

@@ -9,7 +9,7 @@ from pathlib import Path
want_name = "dropbear"
# Walks up the parent process tree, prints the first line of /proc/pid/maps when
# Walks up the parent process tree, prints a r-xp line of /proc/pid/maps when
# it finds the wanted name
def main():
@@ -22,8 +22,10 @@ def main():
if want_name in p.name():
with (Path('/proc') / str(p.pid) / "maps").open() as f:
map0 = f.readline().rstrip()
print(map0)
for i, l in enumerate(f, 1):
if ' r-xp ' in l:
print(l.rstrip())
break
return
raise RuntimeError(f"Couldn't find parent {want_name} process")