2

I have a Python service in systemd. I'd like to have it use the Python syslog module for logging if it's running in systemd vs. otherwise. Is there a reliable way to determine if I'm running in systemd or is there a better way of going about it?

jasonwryan
  • 73,126
Naftuli Kay
  • 39,676

1 Answers1

2

systemd will always have a PID of 1, so you can check if the parent PID is 1:

import psutil, os
if psutil.Process(os.getpid()).ppid() == 1:
    # We are using systemd

However, it's probally better to offer a command line flag --syslog and pass that with the systemd service, this way the user can select to use syslog even without the systemd service.

user530873
  • 257
  • 1
  • 8