Остановите сервер redis. Ни остановка, ни остановка
Я хочу остановить сервер redis, и он просто продолжает идти и уходить. Я использую redis-2.6.7
Убедитесь, что он запущен:
redis-server
В нем говорится: "... bind: Address уже используется", поэтому он уже запущен.
Я пробовал
redis-cli
redis 127.0.0.1:6379> shutdown
Он просто висит и ничего не происходит. Я выхожу и проверяю, да, он все еще работает.
Я пробовал
redis-server stop
Я получаю "невозможно открыть файл конфигурации" stop "
Я пробовал:
killall redis-server
Все еще работает.
Причина, по которой я хочу остановить ее, заключается в том, что она просто висит, когда я пытаюсь установить или получить значение через Python. Поэтому я подумал, что я перезапущу его.
EDIT:
Никакие команды не работают из redis-cli. Я также попробовал INFO, и он просто зависает.
Ответы
Ответ 1
Наконец-то я понял.
Получить PID процесса (это работает в Webfaction):
ps -u my_account -o pid,rss,command | grep redis
Тогда
> kill -9 the_pid
Я смог опубликовать эту проблему:
Start redis-server
Then break it using Pause/Break key
Теперь он зависает, и он не будет нормально закрываться. Также программа Python пытается установить/получить ключ. Чтобы этого избежать: просто закройте окно после запуска redis-сервера. Теперь он работает нормально.
Ответ 2
Выключение сервера Redis $ redis-cli -a password -p 6379 shutdown
Запустить сервер Redis $ sudo service redis_6379 start
Он работает на сервере Ubuntu 14.04 x86 Redis v2.8.15.
Ответ 3
Обычный способ сделать это - подключиться к клиенту, например redis-cli, и выполнить команду "shutdown". Я обнаружил некоторые проблемы, пытающиеся завершить работу, потому что redis-server не имеет прав для редактирования файла db dump (RDB) до выхода. Затем redis остается запущенным, и вам нужно убить процесс с помощью kill -9 pid. Но это не проблема redis, как вы знаете.
Пример этой проблемы:
# User requested shutdown...
[16560] 10 Sep 11:21:17.672 * Saving the final RDB snapshot before exiting.
[16560] 10 Sep 11:21:17.672 # Failed opening .rdb for saving: Permission denied
[16560] 10 Sep 11:21:17.672 # Error trying to save the DB, can't exit.
Ответ 4
Я больше не могу воспроизвести проблему, но shutdown NOSAVE
помог мне, когда я играл с redis и не мог заставить его отключиться:
redis-cli
127.0.0.1:6379> shutdown
(error) ERR Errors trying to SHUTDOWN. Check logs.
127.0.0.1:6379> shutdown NOSAVE
not connected>
Ответ 5
Я думаю, что команда shutdown может завершить работу сервера redis.
Может быть, странно, после ввода команды shutdown redis-cli не выходит. Между тем сервер отключился.
Ответ 6
Это, возможно, действительно важная нота для некоторых людей, читающих это. Если ваш redis, похоже, не реагирует на выключение. ПРОВЕРЬТЕ ЛОГИКИ.
Они могут сказать что-то вроде этого:
Apr 24 00:48:54 redis[828]: Received SIGTERM, scheduling shutdown...
Apr 24 00:48:54 redis[828]: User requested shutdown, saving DB...
Apr 24 00:55:37 redis[828]: DB saved on disk
Может быть, ваша БД несколько GB или десятки GB, и в этом случае потребуется время для выключения. Если вместо этого вы хотите очистить все ключи, есть лучший способ сделать это, чем выключение. FLUSHALL
Ответ 7
net stop redis
должен сделать трюк
чтобы начать:
net start redis
см. этот fooobar.com/questions/19495/...
Ответ 8
При настройке сервера требуется авторизация...
При запуске и завершении redis script используется redis-cli, что означает, что выключение не произойдет без авторизации, и сервер будет висеть в цикле, ожидая, что redis будет завершен, что никогда не произойдет без auth.
Итак, при выключении script вам нужно изменить
$CLIEXEC -p $REDISPORT shutdown
к
$CLIEXEC -a 'authpassword' -p $REDISPORT shutdown
чтобы ваш сервис redis отключился без проблем.
Ответ 9
Вы используете следующую команду, чтобы убить выполняемый процесс redis-server.
ps aux |grep redis
Здесь перечислены все запущенные процессы для redis-сервера.
Затем вы можете использовать следующую команду для уничтожения процессов redis
sudo kill <pid for redis>
образец здесь
sudo kill 7229 //for the above sample.
Ответ 10
Лучший способ проверить pid порта redis:
lsof -i:<redis-port>
для порта по умолчанию redis
lsof -i:6379
kill -9 <pid>
Ответ 11
start redis: $REDIS_HOME/src/redis-server
stop redis: $REDIS_HOME/src/redis-cli shutdown
$REDIS_HOME
, где вы установили/извлекли redis.
Ответ 12
на redis-cli будет работать команда "shutdown SAVE" или "shutdown NOSAVE".
![]()
Ответ 13
Вы можете просто:
redis-cli shutdown