GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So richten Sie die automatische Ausführung eines Python-Skripts mit Systemd ein

Frage – Wie man ein Python-Skript mit systemd automatisch ausführt. So erstellen Sie einen eigenen systemd-Dienst mit Python-Skript. So konfigurieren Sie das Python-Skript so, dass es als systemd startet. Wie verwalte ich den Python-Dienst mit systemctl?

Verwenden Sie dieses Tutorial, um Ihr Python-Skript als Systemdienst unter systemd auszuführen. Sie können Ihr Skript einfach mit dem Befehl systemctl starten, stoppen oder neu starten. Dies ermöglicht auch die automatische Ausführung des Python-Skripts beim Systemstart.

Schritt 1 – Dummy-Python-Anwendung

Zunächst einmal habe ich ein Dummy-Python-Skript verwendet, das auf einem bestimmten Port lauscht. Bearbeiten Sie eine Python-Datei wie folgt

sudo vi /usr/bin/dummy_service.py

und fügen Sie den folgenden Inhalt für Dummy hinzu. Sie können Ihr eigenes Python-Skript gemäß den Anforderungen verwenden.

Python
123456789101112 #!/usr/bin/python3 import sockets =socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.bind(("localhost", 9988))s.listen(1) while True:conn, addr =s.accept() data =conn.recv(1024) conn.close() my_function_that_handles_data(data)

Schritt 2 – Servicedatei erstellen

Erstellen Sie nun wie folgt eine Servicedatei für systemd. Die Datei muss .service haben Erweiterung unter /lib/systemd/system/ Verzeichnis

sudo vi /lib/systemd/system/dummy.service

und fügen Sie den folgenden Inhalt hinzu. Ändern Sie den Anzeigeort für den Dateinamen des Python-Skripts. Aktualisieren Sie auch die Beschreibung.

[Unit]
Description=Dummy Service
After=multi-user.target
[email protected]

[Service]
Type=simple
ExecStart=/usr/bin/python3 /usr/bin/dummy_service.py
StandardInput=tty-force

[Install]
WantedBy=multi-user.target

Schritt 3 – Neu hinzugefügten Dienst aktivieren

Ihr Systemdienst wurde Ihrem Dienst hinzugefügt. Lassen Sie uns den systemctl-Daemon neu laden, um die neue Datei zu lesen. Sie müssen diesen Dämon jedes Mal neu laden, nachdem Sie Änderungen in der .service-Datei vorgenommen haben.

sudo systemctl daemon-reload

Aktivieren Sie nun den Dienst so, dass er beim Systemstart gestartet wird, und starten Sie den Dienst auch mit den folgenden Befehlen.

sudo systemctl enable dummy.service
sudo systemctl start dummy.service

Schritt 4 – Start/Neuen Dienst starten/Status

Überprüfen Sie abschließend den Status Ihres Dienstes mit dem folgenden Befehl.

sudo systemctl status dummy.service

Verwenden Sie die folgenden Befehle, um Ihr Wartungshandbuch zu stoppen, zu starten und neu zu starten.

sudo systemctl stop dummy.service          #To stop running service 
sudo systemctl start dummy.service         #To start running service 
sudo systemctl restart dummy.service       #To restart running service 

Linux
  1. So erstellen Sie einen Systemd-Dienst unter Linux

  2. So laden Sie Dateien vom SFTP-Server mit Python-Skript herunter

  3. So verfolgen Sie Python-Skripte mit trace.py

  4. Wie man ein Python-Skript wie einen Dienst oder Daemon in Linux laufen lässt

  5. Wie lässt sich ein Python-Skript als Dienst ausführen?

So richten Sie einen einfachen Dateiserver mit simpleHTTPserver ein

So führen Sie Shell-Skript als Systemd-Dienst in Linux aus

Verwenden von systemd-Funktionen zum Sichern von Diensten

So führen Sie ein Python-Skript in PHP aus

So ändern Sie die Größe von Bildern mit Python

So führen Sie Shell-Skript als SystemD-Dienst in Linux aus