我显然有一个redis-server实例正在运行,因为当我试图通过输入redis-server启动一个新服务器时,我受到以下欢迎:
Opening port: bind: Address already in use
我不知道如何停止这个服务器,并启动一个新的。
当我在CLI中输入时,是否有任何命令可以附加到redis-server ?
我的操作系统是Ubuntu 10.04。
我显然有一个redis-server实例正在运行,因为当我试图通过输入redis-server启动一个新服务器时,我受到以下欢迎:
Opening port: bind: Address already in use
我不知道如何停止这个服务器,并启动一个新的。
当我在CLI中输入时,是否有任何命令可以附加到redis-server ?
我的操作系统是Ubuntu 10.04。
当前回答
下面的命令适用于我的Ubuntu服务器
$ service /etc/init.d/redis_6379 stop
$ service /etc/init.d/redis_6379 start
$ service /etc/init.d/redis_6379 restart
其他回答
Redis-cli shutdown是最有效的。接受的答案不适合我(OSX Lion)。谢谢,@JesseBuesking。
选项1:进入redis安装目录并导航到src,在我的情况下:
/opt/redis3/src/redis-cli -p 6379 shutdown
其中6379为默认端口。
选项2:查找redis进程并杀死
ps aux | grep redis-server
t6b3fg 22292 0.0 0.0 106360 1588 pts/0 S+ 01:19 0:00 /bin/sh /sbin/service redis start
t6b3fg 22299 0.0 0.0 11340 1200 pts/0 S+ 01:19 0:00 /bin/sh /etc/init.d/redis start
然后启动kill:
kill -9 22292
kill -9 22299
我使用的是Centos 6.7, x86_64
希望能有所帮助
通常这个问题出现后,我关闭我的电脑(或离开运行)不规则的方式。我认为端口被卡住打开,而进程停止,但继续绑定到前一个端口。
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
准备好了。
在CLI中输入SHUTDOWN
or
如果你不关心内存中的数据,你也可以输入SHUTDOWN NOSAVE来强制关闭服务器。
redis的服务名称为redis-server,可以使用以下命令禁用和停止redis:
sudo systemctl disable redis-server
sudo systemctl stop redis-server