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

bar*_*lay 42 memcached

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

sim*_*oes 82

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

telnet localhost 11211
Run Code Online (Sandbox Code Playgroud)

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

Connected to localhost.
Escape character is '^]'.
Run Code Online (Sandbox Code Playgroud)

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

stats
Run Code Online (Sandbox Code Playgroud)

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

  • 要退出,只需键入quit (2认同)

Sea*_*ney 34

尝试

netstat -ap | grep TheChosenPort#
Run Code Online (Sandbox Code Playgroud)

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

  • 这不适用于OS-X.(问题是针对Linux)尝试simoes答案. (2认同)

ken*_*orb 14

netstat的

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

$ sudo netstat -nap | grep memcached
tcp        0      0 127.0.0.1:11211  0.0.0.0:*  LISTEN      5067/memcached
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

该端口可以在-p例如旁边找到-p 11211.如果未指定端口,则默认为11211.

巴什

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

exec 3<>/dev/tcp/localhost/11211; printf "stats\nquit\n" >&3; cat <&3
Run Code Online (Sandbox Code Playgroud)

远程登录

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

$ telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
stats
STAT pid 23669
STAT uptime 433859
Run Code Online (Sandbox Code Playgroud)

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


uri*_*zar 7

使用以下命令

ps -U user | grep -v grep | grep memcached
Run Code Online (Sandbox Code Playgroud)


cma*_*mac 5

您可以检查 memcached状态

\n\n
service memcached status\n
Run Code Online (Sandbox Code Playgroud)\n\n

你会在底部看到这样的一行:

\n\n
\n
       \xe2\x94\x94\xe2\x94\x801560 /usr/bin/memcached -vv -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid\n
Run Code Online (Sandbox Code Playgroud)\n
\n\n

-p 11211是它运行的端口。

\n