Posso saber se estou executando no systemd? [duplicado]

2

Eu tenho um serviço Python no systemd. Eu gostaria que ele usasse o módulo syslog do Python para o registro se ele estivesse sendo executado no systemd, caso contrário. Existe uma maneira confiável de determinar se estou executando no systemd ou existe uma maneira melhor de lidar com isso?

    
por Naftuli Kay 05.04.2016 / 23:30

1 resposta

1

systemd sempre terá um PID de 1, para que você possa verificar se o PID pai é 1:

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

No entanto, é provavelmente melhor oferecer um sinalizador de linha de comando --syslog e passar isso com o serviço systemd , assim o usuário pode optar por usar o syslog mesmo sem o serviço systemd .

    
por 05.04.2016 / 23:43

Tags