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

Opening port: bind: Address already in use

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

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

我的操作系统是Ubuntu 10.04。


当前回答

你可以试试下面的代码:

sudo kill -9 $(ps aux | grep 'redis' | awk '{print $2}')

其他回答

下面的命令适用于我的Ubuntu服务器

$ service /etc/init.d/redis_6379 stop
$ service /etc/init.d/redis_6379 start
$ service /etc/init.d/redis_6379 restart

如果通过snap安装Redis:

sudo snap stop redis.server

另一种方式是:

brew services stop redis

如果您知道它将在哪个端口上运行(默认情况下是6379),您可以使用以下命令获取使用该端口的进程的pid,然后可以对相同的pid执行kill命令。

sudo lsof -i : <port> | awk '{print $2}'

上面的命令将为您提供pid。

杀死pid > <;

这将关闭您的服务器。

通常这个问题出现后,我关闭我的电脑(或离开运行)不规则的方式。我认为端口被卡住打开,而进程停止,但继续绑定到前一个端口。

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

准备好了。