der --now Schalter von `systemctl`

12

Wie in der genannten Mann - Seite,

systemctl --now enable servicename

sollte den Dienst aktivieren und starten .

Aber es funktioniert nie für mich, unter vielen verschiedenen Distributionen.

Während die Ausgabe von:

systemctl is-enabled wird aktiviert,

systemctl is-active ist für den Dienst noch inaktiv.

Wofür ist dieser Schalter gut?

Ich habe andere Kombinationen ausprobiert wie:

systemctl enable --now servicename

und:

systemctl enable servicename --now

aber immer noch das gleiche; Ich muss systemctl start servicenamejedes Mal manuell , auch wenn der vorherige Befehl (dh das enableTeil) erfolgreich ausgeführt wird .

Ist es so, dass die Implementierung des systemd-Dienstes durch die Anwendung die Implementierung der Funktion irgendwo in den Gerätedateien unterstützen sollte? Was viele bekannte Dienste nicht befolgen, ließ mich denken, dass es ein völlig nutzloser Schalter ist. Ich nehme an, darüber nachzudenken.

Wiedereinsetzung von Monica - M. Schröder
quelle
1
Alle "Kombinationen" funktionieren hier einwandfrei (Archlinux).
don_crissti

Antworten:

11

Ich fand das auch nervig.

Es sieht so aus, als ob der --nowSwitch in Version 220 hinzugefügt wurde (siehe diese Zeile im Änderungsprotokoll) und CentOS 7 derzeit auf Version 219 ist. Hoffentlich bald!

Sie können Ihre Version von systemd mit überprüfen systemctl --version.

David Birks
quelle
2
Zu Ihrer Information, ich bin auf CentOS 7 und # systemctl --versionsage mir, dass ich benutze, systemd 219aber ich habe überprüft, dass das --nowFlag tatsächlich einen gestoppten Dienst startet. Vielleicht RHEL / CentOS Backporting?
pzkpfw
1
Hallo @pzkpfw das gleiche für mich, auch ich bin auf 219 und --now funktioniert für mich.
Prashant Lakhera