我正在尝试在 centos 机器上运行 memcached,它运行了一段时间,但最终处于这种状态:
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
有谁知道那是什么意思?
这意味着该服务曾一度运行,但已崩溃。
当您启动服务时,它会创建一个“锁定”文件以指示该服务正在运行。这有助于避免服务的多个实例。当您停止服务时,此锁定文件将被删除。
当正在运行的服务崩溃时,锁文件存在但进程不再存在。因此,消息。
看看这两个区域
/var/run/*.pid
和/var/lock/subsys/*
。预计这些将彼此一致。也就是说,如果(emtpy 文件)lockfile/var/lock/subsys/crond
存在,那么文件的第一行/var/run/crond.pid
应该包含为此服务运行的进程的 PID。如果没有这样的进程正在运行,则说明有问题。如果一个进程确实在运行(如您所见),但它不是那个PID,那么可能有些混乱。