service memcached restart yield:
停止memcached:[失败]
启动memcached:[ok]
服务memcached状态产量:
memcached死了但是锁定了
ls / var / lock / subsys /中显示名为memcached的文件
ls / var / run /中没有显示名为memcached的pid文件 这里有另一个名为memcached的文件夹,但该文件夹中没有任何内容。
rm / var / lock / subsys / memcached摆脱了memcached锁文件
service restart memcached yeilds:
停止memcached:[失败]
启动memcached:[ok]
服务memcached状态产量:
memcached死了但是锁定了
我做错了什么?
编辑:我想补充一点,我在发布之前已经搜索了这个,我要么已经在上述帖子中列出的步骤,要么该帖子已有数年之久。
答案 0 :(得分:2)
也许您尝试以非特权用户身份启动memcached服务,但失败了:
// Prepare all threads
Thread[] threads = new Thread[System.Environment.ProcessorCount];
// Start all threads
for (int i = 0; i < System.Environment.ProcessorCount; i++)
{
threads[i] = new Thread(() => DoWork_Threaded(i));
threads[i].Start();
}
// Wait for completion of all threads
for (int i = 0; i < System.Environment.ProcessorCount; i++)
{
threads[i].Join();
}
之后,$ service memcached start
Starting memcached: [ OK ]
touch: cannot touch ‘/var/lock/subsys/memcached’: Permission denied
将错误地报告 memcached未运行:
service memcached status
但它是,并且它绑定到端口11211,为了检查这个你可以使用:
$ service memcached status
memcached dead but subsys locked
或者:
$ fuser -n tcp 11211
11211/tcp: 4439
Memcached将无法启动,因为它无法绑定到11211,因为正在运行的实例已绑定到它。不幸的是,有一些系统(我在看你,CENTOS),它可能不会在$ pgrep -l memcached
4439 memcached
或/var/log/messages
留下任何有用的提示。这就是为什么许多先前对这个问题的答案很难解决这个问题。
由于/var/log/syslog
不起作用,你必须杀掉它:
service stop memcached
或者这个(其中4439是您在上一步中找到的pid):
$ pkill memcached
然后你可以使用sudo做正确的事:
$ kill 4439
答案 1 :(得分:1)
通过在终端中键入以下命令解决了这个问题:
1)su(成为root)。
2)killall -9 memcached(杀死memcached)。
3)/etc/init.d/memcached start(用手启动memcached)。
或者:3)service memcached start。
答案 2 :(得分:1)
检查/ etc / sysconfig / memcached 确保OPTIONS =&#34; -l 127.0.0.1&#34;是正确的
答案 3 :(得分:0)
从OPTION中删除-l。
例如,而不是OPTION="-l 2.2.2.2"
尝试使用
OPTION="2.2.2.2"
这对我有用。
答案 4 :(得分:0)
要解决此问题,请以root用户身份运行以下脚本 rm /var/run/memcached/memcached.pid rm / var / lock / subsys / memcached service memcached start
答案 5 :(得分:0)
删除并重新安装memcached对我有用:
[acool@acool super-confidential-dir]$ sudo yum remove memcached
...
[acool@acool super-confidential-dir]$ sudo yum install memcached
在完成上述命令后,我得到了:
[acool@acool super-confidential-dir]$ sudo service memcached status
memcached dead but pid file exists
此时我杀了它并删除了pid文件:
[acool@acool super-confidential-dir]$ sudo killall -s 9 memcached
...
[acool@acool super-confidential-dir]$ sudo rm /var/run/memcached/memcached.pid
最后启动它并检查其状态:
[acool@acool super-confidential-dir]$ sudo service memcached start
...
[acool@acool super-confidential-dir]$ sudo service memcached status
memcached (pid 13804) is running...
然后我又开心了。
祝你好运。答案 6 :(得分:0)
就我而言,我想通过套接字使用 memcache
OPTIONS="-t 8 -s /run/memcached/memcached.sock -a 0777 -U 0"
从另一个操作系统复制,并得到同样的问题。 然后我意识到我只是忘记了,在我的操作系统中 /run/ 不存在。而已。检查你的路径,哈哈