Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
systemd-run - Führt einen Befehl als systemd-Dienst aus
Der Befehl systemd-run ermöglicht es, einen Prozess als temporären systemd-Dienst auszuführen. Dies ist besonders nützlich, um einen Befehl im Hintergrund laufen zu lassen und von systemd verwalten zu lassen, ohne eine vollständige Service-Einheit erstellen zu müssen. Es kann auch verwendet werden, um Befehle mit bestimmten Ressourcenbeschränkungen oder Prioritäten auszuführen.
Syntax
systemd-run [Optionen] [Befehl] [Argumente]
Wichtige Optionen
| Option | Beschreibung |
|---|---|
| `–unit=NAME` | Gibt einen Namen für die zu erstellende Unit an. Wenn dieser nicht angegeben wird, wählt systemd automatisch einen Namen. |
| `–description=TEXT` | Fügt eine Beschreibung für den temporären Dienst hinzu. |
| `–scope` | Führt den Befehl als temporären „Scope“ aus, wodurch der Prozess von systemd verwaltet, aber nicht als vollständiger Dienst behandelt wird. |
| `–quiet` | Unterdrückt die Ausgabe des Befehls. |
| `–property=NAME=VALUE` | Setzt eine oder mehrere Eigenschaften für den temporären Dienst, wie Ressourcenbeschränkungen. |
| `–help` | Zeigt die Hilfe für den Befehl an. |
Beispiele
Einen Befehl als temporären systemd-Dienst ausführen:
systemd-run --unit=mytask sleep 600
Führt den Befehl `sleep 600` aus und verwaltet ihn als temporären systemd-Dienst mit dem Namen `mytask`.
Einen Befehl im Hintergrund ausführen und unterdrückt die Ausgabe:
systemd-run --quiet --unit=mytask sleep 600
Führt den Befehl `sleep 600` im Hintergrund aus, ohne Ausgaben anzuzeigen, und verwaltet ihn als temporären systemd-Dienst.
Einen Befehl mit einer bestimmten Ressourceneinstellung ausführen:
systemd-run --unit=mytask --property=MemoryMax=1G sleep 600
Führt den Befehl `sleep 600` mit einer maximalen Speicherauslastung von 1 GB als temporären systemd-Dienst aus.
Einen Befehl ohne vollständige Dienstdefinition ausführen (Scope):
systemd-run --scope sleep 600
Führt den Befehl `sleep 600` aus, ohne ihn als vollständigen Dienst zu behandeln, sondern als temporären „Scope“-Prozess.
Hinweis
- systemd-run ist sehr nützlich, wenn man einen Befehl im Hintergrund ausführen möchte, der nicht dauerhaft als Dienst laufen muss, aber dennoch von systemd verwaltet werden soll. - Es bietet die Möglichkeit, Prozesse mit speziellen Ressourcenbeschränkungen (z. B. CPU oder Speicher) zu starten und stellt sicher, dass der Prozess im Kontext von systemd ausgeführt wird.
Alternativen
Ähnliche Funktionen bieten direkte systemd-Unit-Dateien, wenn man dauerhaft einen Dienst einrichten möchte. Für einfachere, nicht persistente Aufgaben kann auch nohup oder screen verwendet werden.
Weitere Informationen
Die Man-Page liefert detaillierte Informationen:
man systemd-run
