Ein Hinweis, wenn Sie systemd verwenden, um CentOS 7 dazu zu bringen, immer Python-Skripte auszuführen, denen nicht besonders bewusst war, dass sie als Daemon ausgeführt werden


15.03.17: 32 Nachtrag Von hier
Sie haben darauf hingewiesen, dass in / usr / lib / systemd / system / die in den vom System installierten Paketen enthaltenen Dienste abgelegt werden. Wie Sie bereits betont haben, scheint es besser zu sein, es unter / etc / systemd / system / abzulegen, daher wurde Folgendes korrigiert. Vielen Dank für den Hinweis!
15.03.17: 32 Nachtrag

Wird später hinzugefügt. Vorerst ein echtes Memo.

Erstellen Sie eine Einheitendatei wie die folgende in / etc / systemd / system mit dem Dateinamen "xxxxx.service".

[Unit]
Description=Sample Hogehoge Script
[Service]
ExecStart=/home/hogemi/fuga.py hikisu
Restart=always
Type=simple
PIDFile=/var/run/fuga.pid
[Install]
WantedBy=multi-user.target

In den Beispielen einiger der gefundenen Vorfahren gab es viele, die Type = Forking hatten, aber dies ist das Verhalten auf der Skriptseite, das "beim Starten sich selbst beendet und ein Kind hinterlässt". Typ = einfach für Skripte, die im Vordergrund bleiben.

Wenn die obige Einheitendatei als fuga.service erstellt wurde

systemctl start fuga

Der Service beginnt mit.

Wenn Sie in der obigen Einheitendatei nicht Type = simple festlegen, wird systemctl selbst nicht beendet, wenn Sie einen Typ starten, der im Vordergrund bleibt. Wenn Type = simple, wird systemctl ordnungsgemäß beendet, wenn der Befehl ausgegeben wird.

Dazu später mehr.

Recommended Posts

Ein Hinweis, wenn Sie systemd verwenden, um CentOS 7 dazu zu bringen, immer Python-Skripte auszuführen, denen nicht besonders bewusst war, dass sie als Daemon ausgeführt werden
Hinweise zur Verwendung der Tab-Vervollständigung beim interaktiven Ausführen von Python unter Windows
Ein Memo mit Python2.7 und Python3 in CentOS
Ein Memo, das ein Tutorial zum Ausführen von Python auf Heroku erstellt hat
Verwalten von Argumenten beim Implementieren eines Python-Skripts als Befehlszeilentool
Eine Funktionsnotiz, die nützlich ist, wenn Sie den Debugger aufrufen möchten, wenn beim Ausführen eines Python-Skripts ein Fehler auftritt.
Eine kleine Geschichte, die beim Schreiben von Twilio-Anwendungen mit Python auf AWS Lambda süchtig macht
Was ist in dieser Variablen (wenn das Python-Skript ausgeführt wird)?
Mindestnotizen bei Verwendung von Python auf Mac (pyenv edition)
Zusammenfassung der Punkte, die beim Schreiben eines Programms zu beachten sind, das unter Python 2.5 ausgeführt wird
Ein Hinweis beim Erstellen eines gerichteten Diagramms mit Graphviz in Python
[GCP] Ein Memorandum zum Ausführen eines Python-Programms mit Cloud-Funktionen
Vorsichtsmaßnahmen bei der Verwendung von Python mit AtCoder
Dinge, die Sie bei der Verwendung von CGI mit Python beachten sollten.
Wenn Sie einen UNIX-Befehl in Python ausführen möchten
Ich war ein wenig süchtig nach der Installation von Python3.3 + mod_wsgi3.4 auf Sakura VPS (CentOS), also ein Hinweis zur Überprüfung
Als ich versuchte, mithilfe von Anforderungen in Python zu kratzen, war ich süchtig nach SSLError, also einem Workaround-Memo
Erstellen Sie ein Shell-Skript, um die Python-Datei mehrmals auszuführen
Vorsichtsmaßnahmen beim Ausführen von Python unter EC2 über AWS Lambda (Befehl ausführen)
So erstellen Sie eine Python-Umgebung mit Virtualenv unter Ubuntu 18.04 LTS
Stellen Sie fest, ob beim Ausführen eines Python-Skripts eine Standardausgabe weitergeleitet wird
Alles vom Erstellen einer Python-Umgebung bis zur Ausführung unter Windows
Erstellen Sie eine Python-Umgebung in Centos
Installieren Sie Python unter CentOS mit Pyenv
Starten Sie das Python-Skript im Dienst
Erstellen Sie eine Python3-Umgebung unter CentOS7
Installieren Sie Python unter CentOS mit pyenv
Dinge, auf die Sie beim Erstellen einer Python-Umgebung auf einem Mac achten sollten
Übergeben Sie beim Ausführen einer Python-Shell von Electron mehrere Argumente, um Python auszuführen.
Hinweise zum Einrichten eines Docker-Containers für die Verwendung von JUMAN ++, KNP, Python