我今天第一次在我的本地计算机上启动了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的正确方法是什么?
答案 0 :(得分:34)
使用内置的redis客户端:redis-cli shutdown
答案 1 :(得分:4)
这是作为命令发送到redis,而不是在终端上执行。
在这种情况下,您实际上只能从终端kill
redis,因为收到SIGTERM
信号后,它将安排SHUTDOWN而不是简单地退出。
答案 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