sviluppo-web-qa.it

Che cosa significa "<nome_servizio> morto ma subsys bloccato"?

Sto cercando di eseguire memcached su una casella di centos e funziona per un po ', ma poi finisce in questo stato:

memcached morto ma subsy bloccato

netstat mostra questo:

tcp        0      0 :::11211                    :::*                        LISTEN      
udp        0      0 0.0.0.0:11211               0.0.0.0:*                               

ps mostra questo:

nobody   21983  0.0  1.8  60272 19912 ?        Ssl  16:46   0:00 memcached -d -p 11211 -u nobody -c 1024 -m 64

Qualcuno sa cosa significa?

39
Nick Brosnahan

Ciò significa che il servizio era in esecuzione contemporaneamente, ma si è arrestato in modo anomalo.

Quando si avvia un servizio, viene creato un file di "blocco" per indicare che il servizio è in esecuzione. Ciò consente di evitare più istanze del servizio. Quando si interrompe un servizio, questo file di blocco viene rimosso.

Quando un servizio in esecuzione si arresta in modo anomalo, il file di blocco esiste ma il processo non esiste più. Quindi, il messaggio.

Guarda le due aree /var/run/*.pid e /var/lock/subsys/*. Questi dovrebbero concordare tra loro. Cioè, se il file di blocco (file emtpy) /var/lock/subsys/crond esiste, quindi la prima riga del file /var/run/crond.pid dovrebbe contenere il PID del processo in esecuzione per questo servizio. Se tale processo non è in esecuzione, allora qualcosa non va. Se un processo è effettivamente in esecuzione (come vedi) ma non è quello PID, allora qualcosa è probabilmente confuso.

62
Eddie