l'opzione --now di `systemctl`


12

Come indicato nella pagina man ,

systemctl --now enable servicename

dovrebbe abilitare e avviare il servizio.

Ma non funziona mai per me, sotto molte diverse distribuzioni.

Mentre l'output di:

systemctl is-enabled diventa abilitato,

systemctl is-active è ancora inattivo per il servizio.

A cosa serve questo interruttore?

Ho provato altre combinazioni come:

systemctl enable --now servicename

e:

systemctl enable servicename --now

ma sempre lo stesso; Devo farlo manualmente systemctl start servicenameogni volta, anche se il comando precedente (cioè la enableparte) viene eseguito correttamente .

È che l'implementazione dell'applicazione del servizio systemd dovrebbe supportarla implementando la funzionalità da qualche parte nei file di unità? ciò che molti servizi noti non seguono, che mi ha fatto pensare al suo passaggio completamente inutile; Presumo che ci pensi.


2
Tutte le "combinazioni" funzionano bene qui (archlinux).
don_crissti,

Risposte:


12

L'ho trovato anche noioso.

Sembra che lo --nowswitch sia stato aggiunto nella versione 220 (vedi questa riga nel log delle modifiche) e CentOS 7 è attualmente nella versione 219. Speriamo presto presto!

Puoi controllare la tua versione di systemd con systemctl --version.


2
Cordiali saluti, sono su CentOS 7 e # systemctl --versionmi dice che sto usando, systemd 219ma ho verificato che la --nowbandiera ha effettivamente avviato un servizio interrotto. Forse il backporting di RHEL / CentOS?
pzkpfw,

1
Ciao @pzkpfw stesso per me, anche io sono il 219 e - ora funziona per me.
Prashant Lakhera,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.