我显然有一个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。
当前回答
如果你在docker容器中运行redis,目前的答案都没有帮助。你必须停止redis容器。否则,redis进程会一直刷新。
$ docker ps
CONTAINER ID IMAGE PORTS
e1c008ab04a2 bitnami/redis:4.0.8-r0 0.0.0.0:6379->6379/tcp
$ docker stop e1c008ab04a2
e1c008ab04a2
其他回答
通常这个问题出现后,我关闭我的电脑(或离开运行)不规则的方式。我认为端口被卡住打开,而进程停止,但继续绑定到前一个端口。
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
准备好了。
以下是我在MAC上的工作
ps aux | grep 'redis-server' | awk '{print $2}' | xargs sudo kill -9
SystemD, Ubuntu 16.04:
$ sudo systemctl is-active redis-server
active
$ sudo systemctl is-enabled redis-server
enabled
$ sudo systemctl disable redis-server
Synchronizing state of redis-server.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable redis-server
Removed /etc/systemd/system/redis.service.
$ sudo systemctl stop redis-server
在CLI中输入SHUTDOWN
or
如果你不关心内存中的数据,你也可以输入SHUTDOWN NOSAVE来强制关闭服务器。
redis的服务名称为redis-server,可以使用以下命令禁用和停止redis:
sudo systemctl disable redis-server
sudo systemctl stop redis-server