我显然有一个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。
当前回答
另一种方式是:
ps -ef | grep -i 'redis-server'
kill -9 PID owned by redis
适用于*NIX和OSX
其他回答
我不知道redis的具体情况,但对于一般的服务器来说:
什么操作系统或发行版?通常会有一个stop或/etc/init.d/…命令,该命令能够在pid文件中查找现有的pid。
您可以使用sudo netstat -nlpt (linux options;其他netstat口味会有所不同),并发出停止的信号。我不会在运行中的服务器上使用kill -9,除非真的没有其他信号或方法来关闭它。
下面的命令适用于我的Ubuntu服务器
$ service /etc/init.d/redis_6379 stop
$ service /etc/init.d/redis_6379 start
$ service /etc/init.d/redis_6379 restart
如果你在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
你可以试试下面的代码:
sudo kill -9 $(ps aux | grep 'redis' | awk '{print $2}')
MacOSX -它工作了:)
步骤1:找到之前运行的Redis服务器
ps auxx | grep redis-server
步骤2:通过查找PID(进程ID) - Redis Sever来杀死特定的进程
kill -9 PID