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
誰もがそれが何を意味するのか知っていますか?
これは、サービスが一度に実行されていたが、クラッシュしたことを意味します。
サービスを開始すると、サービスが実行中であることを示す「ロック」ファイルが作成されます。これにより、サービスの複数のインスタンスを回避できます。サービスを停止すると、このロックファイルは削除されます。
実行中のサービスがクラッシュすると、ロックファイルは存在しますが、プロセスは存在しなくなります。したがって、メッセージ。
2つの領域を見てください/var/run/*.pid
および/var/lock/subsys/*
。これらは互いに一致すると予想されます。つまり、(空のファイル)ロックファイル/var/lock/subsys/crond
が存在する場合は、ファイルの最初の行/var/run/crond.pid
には、このサービスで実行されているプロセスのPIDが含まれている必要があります。そのようなプロセスが実行されていない場合は、何かが間違っています。プロセスが実際に(ご覧のように)実行されているがthat PIDではない場合、おそらく何かが混乱しています。