我显然有一个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。
当前回答
一个更干净、更可靠的方法是进入redis-cli,然后输入shutdown
在redis-cli中,输入help @server,你会在列表底部看到:
SHUTDOWN - summary:同步保存数据集到磁盘,然后 从:0.07开始关闭服务器
如果你在终端中运行一个redis-server实例,你会看到:
User requested shutdown...
[6716] 02 Aug 15:48:44 * Saving the final RDB snapshot before exiting.
[6716] 02 Aug 15:48:44 * DB saved on disk
[6716] 02 Aug 15:48:44 # Redis is now ready to exit, bye bye...
其他回答
如果你知道哪个端口(默认值:6379)你的redis服务器正在运行,你可以选择选项1,或者你可以检查你的redis进程,你可以用选项2杀死
选项1:关闭端口上的进程:
check : sudo lsof -t -i:6379
kill : sudo kill `sudo lsof -t -i:6379`
选项2: 找到之前运行的Redis服务器:
ps auxx | grep redis-server
通过查找PID(进程ID) - Redis Sever来杀死特定的进程
kill -9 PID
现在启动你的redis服务器
redis-server /path/to/redis.conf
Redis-cli shutdown是最有效的。接受的答案不适合我(OSX Lion)。谢谢,@JesseBuesking。
redis的服务名称为redis-server,可以使用以下命令禁用和停止redis:
sudo systemctl disable redis-server
sudo systemctl stop redis-server
停止redis服务
sudo service redis-server stop
并检查其使用状态
sudo service redis-server status
选项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
希望能有所帮助