Systemctl basis: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 53: Zeile 53:
 
*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.
 
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.
*User=thomas
+
*WorkingDirectory=/srv/www
Der Dienst wird als Benutzer thomas ausgeführt.
 
*WorkingDirectory=/home/thomas/html
 
 
Das Arbeitsverzeichnis für den Dienst. Hier wird der Dienst im Verzeichnis /home/thomas/html 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
 
*ExecStart=/usr/bin/python3 -m http.server

Version vom 29. Januar 2026, 12:38 Uhr

starten

  • systemctl start simple-http.service

stop

  • systemctl stop simple-http.service

restart

  • systemctl restart simple-http.service

enable

  • systemctl enable simple-http.service

disable

  • systemctl disable simple-http.service

is-enabled

  • systemctl is-enabled simple-http.service

Unsere erste Service unit

  • nano /etc/systemd/system/simple-http.service
[Unit]
Description=My Miscellaneous Service
After=network.target

[Service]
Type=simple
WorkingDirectory=/srv/www
ExecStart=/bin/python3 -m http.server
Restart=on-abort

[Install]
WantedBy=multi-user.target

Handling

Änderungen laden
  • systemctl daemon-reload
Starten des Dienstes
  • systemctl start simple-http.service
Aktivieren des Dienstes beim Neustart des Systems
  • systemctl enable simple-http.service
Status anzeigen
  • systemctl status simple-http.service
Systemd Logs
  • journalctl -fu simple-http.service
Kontrolle ob der Port geöffnet ist
  • ss -lntp | grep 8000

Erklärung

[Unit]
  • Description=My Miscellaneous Service

Eine Beschreibung des Dienstes. In diesem Fall wird der Dienst als "My Miscellaneous Service" beschrieben.

  • After=network.target

Gibt an, dass dieser Dienst erst gestartet wird, nachdem das Netzwerksystem gestartet wurde.

[Service]
  • 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.

  • WorkingDirectory=/srv/www

Das Arbeitsverzeichnis für den Dienst. Hier wird der Dienst im Verzeichnis /home/thomas/html ausgeführt.

  • ExecStart=/usr/bin/python3 -m http.server

Der Befehl, der ausgeführt wird, um den Dienst zu starten. In diesem Fall startet Python3 einen einfachen HTTP-Server.

  • Restart=on-abort

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

[Install]
  • 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.

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.