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

Opening port: bind: Address already in use

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

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

我的操作系统是Ubuntu 10.04。


当前回答

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

其他回答

选项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

希望能有所帮助

对于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的服务名称为redis-server,可以使用以下命令禁用和停止redis:

sudo systemctl disable redis-server 
sudo systemctl stop redis-server 

试试杀死所有redis-server。您还可以使用ps aux来查找服务器的名称和pid,然后使用kill -9 here_pid_number终止它。

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

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

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