O que significa “service_name dead, mas subsys locked”?

37

Estou tentando executar o memcached em uma caixa centos e ele é executado por um tempo, mas depois acaba nesse estado:

memcached dead mas subsys bloqueados

netstat mostra isso:

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

ps mostra isso:

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

Alguém sabe o que isso significa?

    
por Nick Brosnahan 16.06.2009 / 02:43

1 resposta

60

Isso significa que o serviço estava sendo executado ao mesmo tempo, mas caiu.

Quando você inicia um serviço, ele cria um arquivo "lock" para indicar que o serviço está sendo executado. Isso ajuda a evitar várias instâncias do serviço. Quando você interrompe um serviço, esse arquivo de bloqueio é removido.

Quando um serviço em execução falha, o arquivo de bloqueio existe, mas o processo não existe mais. Assim, a mensagem.

Veja as duas áreas /var/run/*.pid e /var/lock/subsys/* . Espera-se que estes concordem um com o outro. Ou seja, se o arquivo (emtpy) lockfile /var/lock/subsys/crond existir, a primeira linha do arquivo /var/run/crond.pid deverá conter o PID do processo em execução para esse serviço. Se nenhum processo estiver sendo executado, algo está errado. Se um processo está de fato rodando (como você vê), mas não é aquele PID, então algo provavelmente está confuso.

    
por 16.06.2009 / 02:47