Qual è la differenza tra service e systemctl?


33

Forse questa è una domanda banale, ma per me non è del tutto chiara. Su uno dei nostri server abbiamo in esecuzione alcuni processi in background che sono stati avviati servicee altri avviati in systemctlquesto modo:

$ service nginx start
$ systemctl start gunicorn

Qual è la differenza tra i due comandi? Qual è il modo preferito di gestire i servizi in background? Come configurare il comando preferito?


3
c'è un'ottima spiegazione
Félix Brunet,

La parte dolorosa di questo, alcuni dicono che il servizio è 'defunto' e se non lo è, perché diavolo cambiano l'ordine degli argomenti come con 'find / grep / individuare' ecc ... nessuna coerenza nelle versioni di Linux :(
killjoy,

Risposte:


37

serviceè un comando "di alto livello" utilizzato per avviare e arrestare i servizi in diversi Unix e Linux. A seconda del gestore del servizio "di livello inferiore", servicereindirizza su binari diversi.

Ad esempio, su CentOS 7 reindirizza a systemctl, mentre su CentOS 6 chiama direttamente lo /etc/init.dscript relativo . D'altra parte, nelle versioni precedenti di Ubuntu reindirizza aupstart

serviceè adeguato per la gestione dei servizi di base, mentre le chiamate dirette systemctloffrono maggiori opzioni di controllo.


9

systemctlè fondamentalmente una versione più potente di service.

Con servicesi può fare solo i comandi relativi al servizio (ad esempio status, reload, restart) mentre con systemctlè possibile utilizzare i comandi più avanzate come:

systemctl is-failed name.service # check if service failed to load

O servizi di mascheramento:

systemctl mask name.service

Ci sono molte buone informazioni in questa pagina da Ask Ubuntu.


1

systemctlè l'utilità principale per controllare daemon / servizi systemd,
mentre il servicecomando è l'utilità tradizionale nel SysVinitmondo.

Una delle funzionalità di systemd è quella di essere compatibile con i comandi SysVinit / legacy,
quindi, se si dispone del systemctlcomando,
service foo startsarà un wrapper systemctl start foo.

Stessa storia per chkconfig.

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.