“<service_name>이 종료되었지만 서브 시스템이 잠겨 있음”은 무엇을 의미합니까?

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 파일) 잠금 파일 /var/lock/subsys/crond이 존재하면 파일의 첫 번째 행 /var/run/crond.pid에는이 서비스에 대해 실행중인 프로세스의 PID가 포함됩니다. 그러한 프로세스가 실행 중이 아니면 무언가 잘못되었습니다. (당신이 볼로) 프로세스가 실제로 실행되고 있지만없는 경우 있음을 PID가, 무언가 아마 혼동된다.