Как я могу остановить редис-сервер? - PullRequest
278 голосов
/ 02 августа 2011

У меня явно работает экземпляр redis-server, потому что когда я пытаюсь запустить новый сервер, набрав redis-server, меня приветствует следующее:

Opening port: bind: Address already in use

Я не могу понятькак остановить этот сервер и запустить новый.

Есть ли какая-либо команда, которую я могу добавить к redis-server при вводе в CLI?

Моя ОС - Ubuntu 10.04.

Ответы [ 22 ]

439 голосов
/ 02 августа 2011

Либо подключитесь к экземпляру узла и используйте команду shutdown , либо, если вы находитесь в Ubuntu, вы можете попытаться перезапустить сервер Redis через init.d: ​​

/etc/init.d/redis-server restart

или остановите / запустите его:

/etc/init.d/redis-server stop
/etc/init.d/redis-server start

на Mac

redis-cli shutdown
188 голосов
/ 02 августа 2011

Более чистый и надежный способ - перейти в redis-cli и набрать shutdown

. В redis-cli введите help @server, и вы увидите это в нижней части списка:

SHUTDOWN - сводка: синхронно сохраните набор данных на диск и затем завершите работу сервера, поскольку: 0,07

И если у вас есть экземпляр сервера redis, работающий в терминале,вы увидите это:

User requested shutdown...
[6716] 02 Aug 15:48:44 * Saving the final RDB snapshot before exiting.
[6716] 02 Aug 15:48:44 * DB saved on disk
[6716] 02 Aug 15:48:44 # Redis is now ready to exit, bye bye...
132 голосов
/ 11 июня 2013

redis-cli shutdown наиболее эффективно.Принятый ответ не работает для меня (OSX Lion).Спасибо, @ JesseBuesking.

27 голосов
/ 16 августа 2013

Для 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-services, который можно использовать для запуска, остановки и перезапуска служб. homebrew-services

brew services автоматически устанавливается при запуске.

brew services start|run redis 
brew services stop redis
brew services restart redis

Если вы используете run, он не запустится при входе в систему (ни при загрузке).start запустит службу redis и добавит ее при входе в систему и загрузке.

23 голосов
/ 06 сентября 2012

Тип SHUTDOWN в CLI

или

если вам не нужны ваши данные в памяти, вы также можете набрать SHUTDOWN NOSAVE для принудительного завершения работы сервера.

16 голосов
/ 02 августа 2011

Попробуйте killall redis-server. Вы также можете использовать ps aux, чтобы найти имя и pid своего сервера, а затем убить его с помощью kill -9 here_pid_number.

12 голосов
/ 15 сентября 2015

Вариант 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 -9 22292

kill -9 22299

Я использую Centos 6.7, x86_64

надеюсь, это поможет

10 голосов
/ 18 августа 2014

Другой способ может быть:

ps -ef | grep -i 'redis-server'
kill -9 PID owned by redis

Работает на * NIX & OSX

8 голосов
/ 01 октября 2016

остановка типа сервера redis в терминале с пользователем root

sudo service redis-server stop

сообщение будет отображаться после остановки редис-сервера

Stopping redis-server: redis-server.

если вы хотите запустить редис-сервер типа

sudo service redis-server start

если вы хотите перезапустить сервер типа

sudo service redis-server restart
6 голосов
/ 22 августа 2016

MacOSX - все заработало:)

Шаг 1: Найти ранее работающий Redis Server

ps auxx | grep redis-server

Шаг 2. Завершить определенный процесс, найдя PID (идентификатор процесса) - Redis Sever

kill -9 PID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...