manager: verify daemon process cmdline

old-commit-hash: 9b1f2d5c64
commatwo_master
Andy Haden 5 years ago
parent 8c318e807f
commit 3a17e9d4b9
  1. 8
      selfdrive/manager.py

@ -250,14 +250,16 @@ def start_managed_process(name):
def start_daemon_process(name):
params = Params()
proc, pid_param = daemon_processes[name]
pid = params.get(pid_param)
pid = params.get(pid_param, encoding='utf-8')
if pid is not None:
try:
os.kill(int(pid), 0)
# process is running (kill is a poorly-named system call)
with open(f'/proc/{pid}/cmdline') as f:
if proc in f.read():
# daemon is running
return
except OSError:
except (OSError, FileNotFoundError):
# process is dead
pass

Loading…
Cancel
Save