我显然有一个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。
当前回答
如果您知道它将在哪个端口上运行(默认情况下是6379),您可以使用以下命令获取使用该端口的进程的pid,然后可以对相同的pid执行kill命令。
sudo lsof -i : <port> | awk '{print $2}'
上面的命令将为您提供pid。
杀死pid > <;
这将关闭您的服务器。
其他回答
如果通过snap安装Redis:
sudo snap stop redis.server
对于OSX,我创建了以下别名用于启动和停止redis(安装在Homebrew中):
alias redstart='redis-server /usr/local/etc/redis/6379.conf'
alias redstop='redis-cli -h 127.0.0.1 -p 6379 shutdown'
这对当地的发展很有帮助!
Homebrew现在有了Homebrew服务,可以用来启动、停止和重新启动服务。homebrew-services
Brew服务在运行时自动安装。
brew services start|run redis
brew services stop redis
brew services restart redis
如果您使用run,那么它将不会在登录(或引导)时启动。Start将启动redis服务,并在登录和启动时添加它。
停止redis服务
sudo service redis-server stop
并检查其使用状态
sudo service redis-server status
Redis-cli shutdown是最有效的。接受的答案不适合我(OSX Lion)。谢谢,@JesseBuesking。
如果你知道哪个端口(默认值: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