web-dev-qa-db-ja.com

選択したポートでmemcachedが既に実行されているかどうかを確認するにはどうすればよいですか?

私はmemcachedでいくつかの問題を抱えています。私が考えていることの1つは、ネットワーク上の他のユーザーによって開始されたポートで既に実行されていることです。現在使用されているmemcachedポートを確認する方法はありますか?

41
barclay

試してみる

netstat -ap | grep TheChosenPort#

そして、これらのTCPまたはUDPポートでリッスンしているものがあるかどうかを確認します。

34

ポートが実行されているかどうかを確認するには、ポートにtelnet接続することもできます。

telnet localhost 11211

これが機能する場合、次のように表示されます(指定されたポートが開いていることを伝える):

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

Memcached IS実行中の場合、特定のコマンドを発行することにより、いくつかの基本的な統計を見ることができます。

stats

これが失敗した場合、memcachedが実行されていないことがわかります。

80
simoes

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です。

Bash

statsコマンドを特定のポートに送信して、memcachedが応答するかどうかを確認できます。

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

Telnet

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 終わる。

14
kenorb

次のコマンドを使用します

ps -U user | grep -v grep | grep memcached
7
uri.lazar

Memcachedを確認できますstatus

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は、それが実行されているポートです。

2
cmac

この質問をしている場合、本当に古いバージョンを実行しているようです。これを最近のバージョンで実行した場合、次のように表示されます。

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