it-swarm.cn

“ <service_name>已死但子系统已锁定”是什么意思?

我正在尝试在一个centos框上运行memcached,它运行了一段时间,但最终处于这种状态:

内存缓存已死但子系统已锁定

netstat显示如下:

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

ps显示此:

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

有人知道那是什么意思吗?

39
Nick Brosnahan

这意味着该服务一次运行,但已崩溃。

启动服务时,它将创建一个“锁”文件以指示该服务正在运行。这有助于避免服务的多个实例。当您停止服务时,此锁定文件将被删除。

当正在运行的服务崩溃时,锁定文件存在,但进程不再存在。因此,消息。

看一下两个区域/var/run/*.pid/var/lock/subsys/*。希望这些彼此同意。也就是说,如果(空文件)锁文件/var/lock/subsys/crond存在,则文件/var/run/crond.pid的第一行应包含为此服务运行的进程的PID。如果没有这样的进程正在运行,则说明有问题。如果某个进程确实正在运行(如您所见),但它不是that PID,则可能有些混乱。

62
Eddie