Systemd Service Iperf3: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „=Service Datei= vi /etc/systemd/system/simple-http.service <pre> [Unit] Description=My Miscellaneous Service After=network.target [Service] Type=simple User…“)
 
Zeile 1: Zeile 1:
 
=Service Datei=
 
=Service Datei=
  vi /etc/systemd/system/simple-http.service
+
  vi /etc/systemd/system/ipfer3.service
  
 
<pre>
 
<pre>
 
[Unit]
 
[Unit]
Description=My Miscellaneous Service
+
Description=Starte ipfer3 Netzwerkdienst
 
After=network.target
 
After=network.target
  
Zeile 10: Zeile 10:
 
Type=simple
 
Type=simple
 
User=kit
 
User=kit
WorkingDirectory=/home/kit/Downloads
+
WorkingDirectory=/home/kit/ipfer3
ExecStart=/bin/python3 -m http.server
+
ExecStart=/home/kit/ipfer3/ipfer3.py
 
Restart=on-abort
 
Restart=on-abort
  
Zeile 22: Zeile 22:
 
  systemctl daemon-reload
 
  systemctl daemon-reload
 
;Starten des Dienstes
 
;Starten des Dienstes
  systemctl start simple-http.service
+
  systemctl start ipfer3.service
 
;Aktivieren des Dienstes beim Neustart des Systems
 
;Aktivieren des Dienstes beim Neustart des Systems
  systemctl enable simple-http.service
+
  systemctl enable ipfer3.service
 
;Status anzeigen
 
;Status anzeigen
  systemctl status simple-http.service
+
  systemctl status ipfer3.service
 
;Systemd Logs
 
;Systemd Logs
  journalctl -fu simple-http.service
+
  journalctl -fu ipfer3.service
;Kontrolle ob der Port geöffnet ist
 
ss -lntp | grep 8000
 
  
 
=Erklärung=
 
=Erklärung=
 
;[Unit]
 
;[Unit]
*Description=My Miscellaneous Service
+
*Description=Starte ipfer3 Netzwerkdienst 
Eine Beschreibung des Dienstes. In diesem Fall wird der Dienst als "My Miscellaneous Service" beschrieben.
+
Eine Beschreibung des Dienstes. In diesem Fall wird der Dienst als "ipfer3 Netzwerkdienst" beschrieben.
*After=network.target
+
 
Gibt an, dass dieser Dienst erst gestartet wird, nachdem das Netzwerksystem gestartet wurde.
+
*After=network.target
 +
Gibt an, dass dieser Dienst erst gestartet wird, nachdem das Netzwerk verfügbar ist.
 +
 
 
;[Service]
 
;[Service]
*Type=simple  
+
*Type=simple
Gibt an, dass dies ein einfacher Dienst ist. systemd nimmt an, dass der Dienst sofort nach dem Starten des in ExecStart angegebenen Befehls einsatzbereit ist.
+
Ein einfacher Dienst: systemd geht davon aus, dass der Dienst einsatzbereit ist, sobald der Befehl in ExecStart ausgeführt wurde.
*User=thomas
+
 
Der Dienst wird als Benutzer thomas ausgeführt.
+
*User=kit 
*WorkingDirectory=/home/thomas/html
+
Der Dienst wird mit den Rechten des Benutzers '''kit''' ausgeführt.
Das Arbeitsverzeichnis für den Dienst. Hier wird der Dienst im Verzeichnis /home/thomas/html ausgeführt.
+
 
*ExecStart=/usr/bin/python3 -m http.server
+
*WorkingDirectory=/home/kit/ipfer3 
Der Befehl, der ausgeführt wird, um den Dienst zu starten. In diesem Fall startet Python3 einen einfachen HTTP-Server.
+
Gibt das Arbeitsverzeichnis an, in dem das Skript gestartet wird.
*Restart=on-abort
+
 
Der Dienst wird neu gestartet, wenn er unerwartet beendet wird (z.B. durch einen Absturz).
+
*ExecStart=/home/kit/ipfer3/ipfer3.py 
 +
Der vollständige Pfad zum auszuführenden Python-Skript.
 +
 
 +
*Restart=on-abort
 +
Der Dienst wird automatisch neu gestartet, wenn er unerwartet beendet wird (z. B. durch einen Fehler).
 +
 
 
;[Install]
 
;[Install]
*WantedBy=multi-user.target
+
*WantedBy=multi-user.target
Dieser Schlüssel gibt an, dass der Dienst im multi-user.target gestartet wird. multi-user.target ist ein systemd-Ziel, das eine Nicht-Grafik-Benutzeroberfläche beschreibt und im Wesentlichen einen Mehrbenutzermodus ohne GUI darstellt.
+
Definiert, dass der Dienst im Mehrbenutzer-Ziel (ohne grafische Oberfläche) aktiviert wird.
  
 
=Zusammenfassung=
 
=Zusammenfassung=
Die Datei definiert einen systemd-Dienst, der einen einfachen HTTP-Server startet, der als Benutzer thomas ausgeführt wird und im Verzeichnis /home/thomas/html arbeitet. Der Dienst wird automatisch neu gestartet, wenn er abstürzt, und er wird nach dem Netzwerkdienst gestartet. Der Dienst wird im Mehrbenutzermodus ohne grafische Benutzeroberfläche verfügbar gemacht.
+
Diese systemd-Konfiguration startet das Python-Skript '''ipfer3.py''' als eigenen Dienst unter dem Benutzer '''kit'''. Das Skript liegt im Verzeichnis '''/home/kit/ipfer3''' und wird automatisch gestartet, sobald das System im Mehrbenutzermodus ist und das Netzwerk verfügbar ist. Ein Neustart erfolgt bei Abstürzen automatisch.

Version vom 26. März 2025, 06:19 Uhr

Service Datei

vi /etc/systemd/system/ipfer3.service
[Unit]
Description=Starte ipfer3 Netzwerkdienst
After=network.target

[Service]
Type=simple
User=kit
WorkingDirectory=/home/kit/ipfer3
ExecStart=/home/kit/ipfer3/ipfer3.py
Restart=on-abort

[Install]
WantedBy=multi-user.target

Handling

Änderungen laden
systemctl daemon-reload
Starten des Dienstes
systemctl start ipfer3.service
Aktivieren des Dienstes beim Neustart des Systems
systemctl enable ipfer3.service
Status anzeigen
systemctl status ipfer3.service
Systemd Logs
journalctl -fu ipfer3.service

Erklärung

[Unit]
  • Description=Starte ipfer3 Netzwerkdienst

Eine Beschreibung des Dienstes. In diesem Fall wird der Dienst als "ipfer3 Netzwerkdienst" beschrieben.

  • After=network.target

Gibt an, dass dieser Dienst erst gestartet wird, nachdem das Netzwerk verfügbar ist.

[Service]
  • Type=simple

Ein einfacher Dienst: systemd geht davon aus, dass der Dienst einsatzbereit ist, sobald der Befehl in ExecStart ausgeführt wurde.

  • User=kit

Der Dienst wird mit den Rechten des Benutzers kit ausgeführt.

  • WorkingDirectory=/home/kit/ipfer3

Gibt das Arbeitsverzeichnis an, in dem das Skript gestartet wird.

  • ExecStart=/home/kit/ipfer3/ipfer3.py

Der vollständige Pfad zum auszuführenden Python-Skript.

  • Restart=on-abort

Der Dienst wird automatisch neu gestartet, wenn er unerwartet beendet wird (z. B. durch einen Fehler).

[Install]
  • WantedBy=multi-user.target

Definiert, dass der Dienst im Mehrbenutzer-Ziel (ohne grafische Oberfläche) aktiviert wird.

Zusammenfassung

Diese systemd-Konfiguration startet das Python-Skript ipfer3.py als eigenen Dienst unter dem Benutzer kit. Das Skript liegt im Verzeichnis /home/kit/ipfer3 und wird automatisch gestartet, sobald das System im Mehrbenutzermodus ist und das Netzwerk verfügbar ist. Ein Neustart erfolgt bei Abstürzen automatisch.