41 votes

Que signifie "<service_name> dead but subsys locked"?

Je tente de faire fonctionner memcached sur une boîte centos et il fonctionne pendant un certain temps, mais finit par se retrouver dans cet état :

memcached mort mais le subsys est verrouillé

netstat montre ceci :

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

ps montre ceci :

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

Quelqu'un sait ce que cela signifie?

65voto

Eddie Points 11262

Cela signifie que le service fonctionnait à un moment donné, mais s'est planté.

Lorsque vous démarrez un service, il crée un fichier de "verrouillage" pour indiquer que le service est en cours d'exécution. Cela permet d'éviter plusieurs instances du service. Lorsque vous arrêtez un service, ce fichier de verrouillage est supprimé.

Lorsqu'un service en cours d'exécution plante, le fichier de verrouillage existe mais le processus n'existe plus. Ainsi, le message.

Regardez les deux zones /var/run/*.pid et /var/lock/subsys/*. Ils sont censés être en accord l'un avec l'autre. C'est-à-dire que si le fichier de verrouillage (vide) /var/lock/subsys/crond existe, alors la première ligne du fichier /var/run/crond.pid est censée contenir le PID du processus en cours d'exécution pour ce service. Si aucun processus de ce type n'est en cours d'exécution, alors quelque chose ne va pas. Si un processus est en effet en cours d'exécution (comme vous le voyez) mais ce n'est pas ce PID-là, alors quelque chose est probablement confus.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X