Systemctl basis: Unterschied zwischen den Versionen
| 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. | ||
| − | + | *WorkingDirectory=/srv/www | |
| − | |||
| − | *WorkingDirectory=/ | ||
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.