it-swarm-vi.tech

"<Service_name> đã chết nhưng bị khóa" nghĩa là gì?

Tôi đang cố chạy memcached trên một hộp centos và nó chạy được một lúc, nhưng rồi kết thúc ở trạng thái này:

memcached chết nhưng bị khóa

netstat cho thấy điều này:

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

ps cho thấy điều này:

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

Co ai biêt no nghia la gi không?

39
Nick Brosnahan

Điều này có nghĩa là dịch vụ đã chạy một lúc, nhưng đã bị hỏng.

Khi bạn bắt đầu một dịch vụ, nó sẽ tạo một tệp "khóa" để cho biết rằng dịch vụ đang chạy. Điều này giúp tránh nhiều trường hợp của dịch vụ. Khi bạn dừng một dịch vụ, tệp khóa này sẽ bị xóa.

Khi một dịch vụ đang chạy gặp sự cố, tệp khóa tồn tại nhưng quá trình không còn tồn tại. Như vậy, tin nhắn.

Nhìn vào hai khu vực /var/run/*.pid/var/lock/subsys/*. Những dự kiến ​​sẽ đồng ý với nhau. Đó là, nếu tệp (emtpy) lockfile /var/lock/subsys/crond tồn tại, sau đó dòng đầu tiên của tệp /var/run/crond.pid dự kiến ​​sẽ chứa PID của quá trình đang chạy cho dịch vụ này. Nếu không có quá trình như vậy đang chạy, thì có gì đó không ổn. Nếu một quá trình thực sự đang chạy (như bạn thấy) nhưng nó không phải là đó PID, thì có lẽ có gì đó bị nhầm lẫn.

62
Eddie