如何查看memcached是否已在我选择的端口上运行?

时间:2009-11-06 22:22:49

标签: memcached

我遇到了一些memcached的问题,我遇到的一个想法是,它可能已经在我尝试运行它的端口上运行,由我们网络上的其他用户启动。有没有办法告诉当前正在使用哪些memcached端口?

6 个答案:

答案 0 :(得分:76)

要查看它是否正在运行,您还可以尝试远程登录到端口:

telnet localhost 11211

如果这样可行,您将看到以下内容(告诉您给定端口已打开):

Connected to localhost.
Escape character is '^]'.

现在,如果memcached IS正在运行,您可以通过发出给定命令来查看一些基本统计信息:

stats

如果失败,您将知道memcached未运行。

答案 1 :(得分:33)

尝试

netstat -ap | grep TheChosenPort#

并查看是否有任何内容正在侦听这些TCP或UDP端口。

答案 2 :(得分:12)

netstat的

在Linux中,通过netstat检查,例如

$ sudo netstat -nap | grep memcached
tcp        0      0 127.0.0.1:11211  0.0.0.0:*  LISTEN      5067/memcached

PS

使用ps过滤流程:

$ ps wuax | grep memcache
497 5067  0.0  1.3 384824 53928 ? Ssl  Apr11   1:28 memcached -d -p 11211 -u memcached -m 64 -c 1024 -P /var/run/memcached/memcached.pid -l 127.0.0.1

该端口位于-p旁边,例如-p 11211。如果未指定端口,则默认为11211

您可以将stats命令发送到给定端口,看看memcached是否响应,例如

exec 3<>/dev/tcp/localhost/11211; printf "stats\nquit\n" >&3; cat <&3

远程登录

使用telnet连接到主机并运行stats(如上所述),例如

$ telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
stats
STAT pid 23669
STAT uptime 433859

然后点击 Ctrl - ] Ctrl - D 完成。

答案 3 :(得分:7)

使用以下命令

ps -U user | grep -v grep | grep memcached

答案 4 :(得分:2)

如果你问这个问题,听起来你正在运行一个非常老的版本。如果您在最近的版本中执行此操作,则会看到:

% ./memcached
failed to listen on TCP port 11211: Address already in use

答案 5 :(得分:1)

您可以查看内存缓存的状态

service memcached status

您将在底部看到这样的一行:

       └─1560 /usr/bin/memcached -vv -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid

-p 11211 是它正在运行的端口。