Interruzione del caricamento dei daemon all'avvio


9

Voglio fermare il caricamento di alcuni demoni al momento dell'avvio, specialmente squid3. Qual è il modo migliore per fare questo?


+1 espresso perfettamente per chi cerca la risposta a questa domanda.
msw,

Risposte:


7

A questo scopo è possibile utilizzare l' utilità chkconfig .

sudo apt-get install chkconfig

Per controllare lo stato del livello di esecuzione di calamari è possibile eseguire questo comando:

 chkconfig --list | grep squid

Questo produrrà qualcosa di simile al seguente:

squid           0:off   1:off   2:on    3:on    4:on    5:on    6:off

Per disattivare i calamari a tutti i livelli di esecuzione è possibile utilizzare questo comando:

sudo chkconfig  squid off

 chkconfig --list | grep squid

squid           0:off   1:off   2:off   3:off   4:off   5:off   6:off

Per disattivare i calamari in un determinato livello di esecuzione è possibile utilizzare questo comando:

 chkconfig  --level 3  squid off

Abbiamo 7 livelli da (0 - 6). Quali sono questi livelli? Puoi spiegarci?
karthick87,

@ karthik87: ecco un bell'articolo sui livelli di esecuzione di linux. Questo ti aiuterà: comptechdoc.org/os/linux/howlinuxworks/linux_hlrunlevels.html
aneeshep

Che dire degli script upstart?
Javier Rivera,

3

I daemon di sistema possono utilizzare sia gli script init SysV legacy sia il più recente Upstart.

Per gli script sysv ci sono diversi strumenti di gestione, uno di questi è "sysv-rc-conf" dal pacchetto "sysv-rc-conf", installarlo e avviarlo dal terminale.

Per quanto riguarda Upstart per quanto ne so non esiste ancora uno strumento di gestione, è necessario rinominare manualmente lo script corrispondente da / etc / init, ad esempio:

mv /etc/init/ufw.conf /etc/init/ufw.conf.disabled

Squid3 utilizza script di inizializzazione sysv, è possibile disabilitarlo con sysv-rc-conf.


1
Addendum: quando si sposta il lavoro iniziale, non è più possibile avviarlo manualmente. Probabilmente è meglio decommentare la parte "start on" nel file .conf.
Htorque,

2

Squid utilizza il vecchio sistema di init, quindi questo comando dovrebbe fare il trucco: sudo update-rc.d -f squid3 remove.

Per un controllo più dettagliato di quando avviare / interrompere il servizio: sudo sysv-rc-conf


Annuncio 1 .: che rimuoverà anche i collegamenti per interrompere il servizio, che probabilmente non è quello che desideri nel caso in cui lo avessi avviato manualmente.
Htorque,

È sbagliato, puoi sempre avviarlo / fermarlo con /etc/init.d/squid3 starto stop.
Evgeny,

Rimuoverà i collegamenti K * che interrompono automaticamente il servizio . ;)
htorque il

Chi lo vorrebbe comunque? ;)
evgeny

I pigri (ME)! :-P
htorque il

1

Due i modi più semplici (dal mio punto di vista).

1) mv /etc/init/squid3.conf /etc/init/squid3.conf.disabled

2) commentare la seguente riga

start on runlevel [2345]

in /etc/init/squid3.conf


Il numero 2 è stata l'unica soluzione che ha funzionato per me. Grazie.
Paulo,

0

Le risposte sopra non hanno funzionato per Ubuntu 16.04.

Ecco cosa ha funzionato:

sudo systemctl stop squid 
update-rc.d squid disable

sudo systemctl status squid 

Anche se potresti ricevere un errore del tipo:

insserv: avviso: il runlevel (i) di inizio corrente (vuoto) degli script squid sostituisce i valori predefiniti LSB (2 3 4 5).

insserv: avvertimento: runlevel (s) di arresto corrente (0 1 2 3 4 5 6) dello script `squid 'ignora i valori predefiniti LSB (0 1 6). insserv: fopen (.depend.stop): autorizzazione negata

Il servizio rimane interrotto anche dopo il riavvio.

Se sai perché si verifica l'errore e come risolverlo, non esitare a commentare o modificare la risposta.

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.