我显然有一个redis-server实例正在运行,因为当我试图通过输入redis-server启动一个新服务器时,我受到以下欢迎:

Opening port: bind: Address already in use

我不知道如何停止这个服务器,并启动一个新的。

当我在CLI中输入时,是否有任何命令可以附加到redis-server ?

我的操作系统是Ubuntu 10.04。


当前回答

连接到节点实例并使用shutdown命令,或者如果你在ubuntu上,你可以尝试通过init.d重新启动redis服务器:

/etc/init.d/redis-server restart

或者stop/start it:

/etc/init.d/redis-server stop
/etc/init.d/redis-server start

在Mac

redis-cli shutdown

其他回答

我不知道redis的具体情况,但对于一般的服务器来说:

什么操作系统或发行版?通常会有一个stop或/etc/init.d/…命令,该命令能够在pid文件中查找现有的pid。

您可以使用sudo netstat -nlpt (linux options;其他netstat口味会有所不同),并发出停止的信号。我不会在运行中的服务器上使用kill -9,除非真的没有其他信号或方法来关闭它。

连接到节点实例并使用shutdown命令,或者如果你在ubuntu上,你可以尝试通过init.d重新启动redis服务器:

/etc/init.d/redis-server restart

或者stop/start it:

/etc/init.d/redis-server stop
/etc/init.d/redis-server start

在Mac

redis-cli shutdown

停止redis服务

sudo service redis-server stop

并检查其使用状态

sudo service redis-server status

通常这个问题出现后,我关闭我的电脑(或离开运行)不规则的方式。我认为端口被卡住打开,而进程停止,但继续绑定到前一个端口。

9/10次修复可以是:

$ ps aux | grep redis

-> MyUser 2976  0.0  0.0  2459704    320   ??  S    Wed01PM   0:29.94 redis-server *:6379

$ kill 2976

$ redis-server

准备好了。

另一种方式是:

ps -ef | grep -i 'redis-server'
kill -9 PID owned by redis

适用于*NIX和OSX