Ich werde Ihnen zeigen, wie Sie Argumente mit einer Instanz mit dem Befehl systemctl
übergeben.
Erstellen Sie die folgende Einheitendefinitionsdatei.
test
) +@
+ .service
.% i
./etc/systemd/system/[email protected]
[Unit]
Description=TestService
[Service]
ExecStart=/bin/echo %I
systemctl start test@"arg1 arg2"
[root@CENTOS7 ~]# systemctl start test@"arg1 arg2"
[root@CENTOS7 ~]#
Überprüfen Sie mit journalctl -u test @" arg1 arg2 "
.
[root@CENTOS7 ~]# journalctl -u test@"arg1 arg2"
--Die Protokolle beginnen am Tag 2019-12-29 17:19:15 JST,Ende am Tag 2019-12-29 20:06:21 JST.
29. Dezember 20:06:21 CENTOS7 systemd[1]: Started TestService.
29. Dezember 20:06:21 CENTOS7 echo[1602]: arg1 arg2
Die Einheitenspezifizierer, die beim Laden der Einheitendatei ersetzt werden, sind:
Einheitenspezifizierer | Bedeutung | Einzelheiten |
---|---|---|
%n | Vollständiger Gerätename | |
%N | Vollständiger Einheitenname (kein Entkommen) | %Wie n, aber die Zeichenfolge wird nicht maskiert. |
%p | Präfix | In dem Einheitennamen, der zu einer Instanz wurde"@"Beziehen Sie sich auf die Zeichenfolge vor dem Zeichen. Für andere Einheiten wird der Einheitenname ohne Suffix verwendet. |
%P | Präfix (kein Entkommen) | %Wie p, aber die Zeichenfolge wird nicht maskiert. |
%i | Instanzname | Von dem Einheitennamen, der zur Instanz wurde"@"Verwenden Sie die Zeichenfolge zwischen dem Buchstaben und dem Suffix. |
%I | Instanzname(Kein Entkommen) | %Wie i, aber die Zeichenfolge wird nicht maskiert. |
%f | Dateiname(Kein Entkommen) | Name der nicht entflohenen Instanz. |
%c | Einheitenkontrollgruppe | Dieser Gruppenname hat/sys/fs/cgroup/systemd/Enthält nicht das Präfix. |
%r | Pfad der übergeordneten Kontrollgruppe | "%c"Der übergeordnete cgroup-Pfad von wird verwendet. |
%R | Routensteuerungsgruppenpfad, auf dem Slices und Einheiten platziert werden | Für Systeminstanzen "/"werden. Verwenden Sie im Fall eines Containers den Root-Kontrollgruppenpfad des Containers. |
%t | Laufzeitverzeichnis | /laufen oder$XDG_RUNTIME_DIR wird verwendet. |
%u | Nutzername | マネージャーを実行しているユーザのNutzernameが使用される。 Normalerweise root. |
%U | Benutzer-UID | マネージャーを実行しているBenutzer-UIDが使用される。 0 wird für Systemadministratoren verwendet. |
%h | Home-Verzeichnis des Benutzers | マネージャーを実行しているHome-Verzeichnis des Benutzersが指定される。 Wenn Sie ein Systemadministrator sind,/"root" wird verwendet. |
%s | Benutzer-Shell | Die vom Service Manager verwendete Shell. Wenn Sie ein Systemadministrator sind,/bin/sh "wird verwendet. |
%m | Maschinen ID | システムのMaschinen ID。 |
%b | Boot ID | Systemstart-ID. |
%H | Hostname | ユニットがロードされた時点でのシステムHostname。 |
%v | Release-Version des Kernels | 「uname -Verwenden Sie die Zeichenfolge, die aus der Ausgabe von "r" erhalten werden kann. |
das ist alles
Recommended Posts