关闭Redis

时间:2013-04-22 03:14:29

标签: redis

我今天第一次在我的本地计算机上启动了Redis,然后在关闭我的Rails应用程序后关闭了所有终端窗口。一小时后,我再次启动Rails应用程序并执行以下操作以启动redis服务器

redis-server /usr/local/etc/redis.conf

然而,它告诉我

# Opening port 6379: bind: Address already in use

我因此假设它仍在运行其早期实例,即使我关闭了Mac上的终端窗口。

查看此页http://redis.io/commands/shutdown,我试图运行

SHUTDOWN
终端窗口中的

但我得到了这个回复

SHUTDOWN: NOT super-user

我因此尝试过(即使我没有使用sudo启动它)

sudo SHUTDOWN 

在它询问我的密码后,输出此

usage: shutdown [-] [-h [-u] [-n] | -r [-n] | -s | -k] time [warning-message ...]

但当我随机跑shutdown -s时,它说

 SHUTDOWN: NOT super-user

关闭应用程序时关闭Redis的正确方法是什么?

3 个答案:

答案 0 :(得分:34)

使用内置的redis客户端:redis-cli shutdown

答案 1 :(得分:4)

这是作为命令发送到redis,而不是在终端上执行。

在这种情况下,您实际上只能从终端kill redis,因为收到SIGTERM信号后,它将安排SHUTDOWN而不是简单地退出。

供参考see the signal handling doc page.

答案 2 :(得分:3)

找出您计算机上运行的Redis实例的进程ID ...

> ps aux | grep redis

impadmin 23277  0.0  0.0  35044  1976 pts/2    Sl+  14:19   0:00 src/redis-server

...然后运行:

> kill 23277