ich ein Python-Skript eine Schleife wie folgt enthält:Erstellen Sie einen Dienst für ein Python-Skript
while True:
if p.poll(waitTime):
if j.process() == journal.APPEND:
for entry in j:
process_data(entry))
, mein Service wie folgt aussehen Derzeit:
[Unit]
Description=Journald shipper
Requires=systemd-journald.service
After=systemd-journald.service
[Service]
Type=forking
ExecStart=/usr/bin/myScript.py
[Install]
WantedBy=multi-user.target
Das Problem zur Zeit ich habe, ist die Der Befehl «start» gibt ein Timeout zurück. Das logisch, weil Skript ist nie fertig, aber der Service beginnt nie :(
Also gehe ich davon aus ich tue Dinge falsch. Habe ich die .service
Datei ändern müssen Skript zu ermöglichen, läuft ohne warten Ende oder muss ich meine «unendliche» Schleife ändern?
Und wie kann ich dies tun?
'wenn p.poll (waitTime):' ist falsch. Es sollte prüfen, ob das Skript beendet wurde, aber es schlägt fehl, wenn das Skript mit einem Rückgabecode von null fehlschlägt. Do 'wenn p.poll (waitTime) ist nicht None:' stattdessen. –