关闭Redis

问题描述 投票:6回答:3

我今天第一次在我的本地机器上启动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的正确方法是什么?

redis
3个回答
4
投票

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

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

供参考see the signal handling doc page.


34
投票

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


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
© www.soinside.com 2019 - 2024. All rights reserved.