关闭Redis

Bra*_*cil 6 redis

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

redis-server /usr/local/etc/redis.conf
Run Code Online (Sandbox Code Playgroud)

但是,它告诉我

# Opening port 6379: bind: Address already in use
Run Code Online (Sandbox Code Playgroud)

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

看看这个页面http://redis.io/commands/shutdown,我试着跑

SHUTDOWN
Run Code Online (Sandbox Code Playgroud)

在终端窗口但我收到了这个回复

SHUTDOWN: NOT super-user
Run Code Online (Sandbox Code Playgroud)

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

sudo SHUTDOWN 
Run Code Online (Sandbox Code Playgroud)

在它询问我的密码后,输出了这个

usage: shutdown [-] [-h [-u] [-n] | -r [-n] | -s | -k] time [warning-message ...]
Run Code Online (Sandbox Code Playgroud)

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

 SHUTDOWN: NOT super-user
Run Code Online (Sandbox Code Playgroud)

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

小智 36

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


Nat*_*han 4

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

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

有关参考,请参阅信号处理文档页面。

  • 好的,对于任何查看此答案的人,我通过执行“redis-cli info | ”获取了进程ID。grep process_id' 然后运行 ​​'kill 2694' (2认同)