Parar o servidor redis. Nem o encerramento nem os trabalhos de paragem
Verifique se está em execução:
redis-server
Diz"...bind: endereço já em uso " por isso já está em execução.
eu tentei
redis-cli
redis 127.0.0.1:6379> shutdown
Está pendurado e nada acontece. Eu saio e verifico, sim, ainda está a funcionar.
eu tentei
redis-server stop
eu consigo "não consigo abrir o ficheiro de configuração 'stop '"
Eu tentei.killall redis-server
Ainda assim execucao.
a razão pela qual eu quero pará-lo é que ele está apenas pendurado quando eu tento definir ou obter um valor através de Python. Então pensei em reiniciá-lo.
editar:
nenhum comando parece funcionar a partir do redis-cli. Também tentei a informação e está pendurada.
11 answers
Obter o PID do processo (isto funcionou na Webfaction):
ps -u my_account -o pid,rss,command | grep redis
Depois
> kill -9 the_pid
Consegui reproduzir este número:
Start redis-server
Then break it using Pause/Break key
Agora desliga-se e não se desliga normalmente. Também o programa Python tentando definir / obter uma chave pendura. Para evitar isto: basta fechar a janela depois de iniciar o servidor redis. Está a correr normalmente.
Desligar O Servidor Redis $ redis-cli -a password -p 6379 shutdown
Iniciar O Servidor Redis $ sudo service redis_6379 start
Funciona no servidor Ubuntu 14.04 x86 Redis v2.8.15.
A forma normal de fazer isto é ligar-se a um cliente como o redis-cli e executar o comando "desligar". Encontrei alguns problemas a tentar desligar porque o servidor redis não tem permissões certas para editar o ficheiro db dump (RDB) antes de sair. Então o redis continua a trabalhar e tens de acabar com o processo com o kill-9 pid. Mas isto não é um problema redis, como deve saber.
Exemplo deste problema:
# 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.
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>
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
Talvez o seu DB seja múltiplo GB, ou dezenas de GBs, caso em que levará tempo para desligar. Se em vez disso você quiser limpar todas as chaves, há uma maneira melhor de fazer isso do que desligar. FLUSHALL
Paragem líquida redis
Deve fazer o truque
Para começar:
Refazer o arranque líquido
Ao configurar o servidor para necessitar de auth...
O script redis start and shutdown utiliza redis-cli, o que significa que o desligamento não vai acontecer sem auth e o servidor vai ficar em um loop à espera que redis para desligar, o que nunca vai acontecer sem auth.
Então no script de encerramento você tem que mudar$CLIEXEC -p $REDISPORT shutdown
A
$CLIEXEC -a 'authpassword' -p $REDISPORT shutdown
De modo a permitir que o seu serviço redis seja desligado sem problemas.
Você usa o seguinte comando para matar o processo do servidor redis em execução.
ps aux |grep redis
Isto irá listar todos os processos em execução para o redis-server. Então você pode usar o seguinte comando para matar os processos redis
sudo kill <pid for redis>
sudo kill 7229 //for the above sample.
Melhor forma de verificar pid do redis porta aberta:
lsof -i:<redis-port>
Para o porto redis por omissão
lsof -i:6379
kill -9 <pid>
start redis: $REDIS_HOME/src/redis-server
stop redis: $REDIS_HOME/src/redis-cli shutdown
$REDIS_HOME
onde instalou / extraiu redis.