database - start - where is redis conf ubuntu
¿Cómo puedo detener redis-server? (21)
Conéctese a la instancia del nodo y use el comando shutdown o si está en ubuntu puede intentar reiniciar el servidor redis a través de init.d:
/etc/init.d/redis-server restart
o detener / iniciarlo:
/etc/init.d/redis-server stop
/etc/init.d/redis-server start
En mac
redis-cli shutdown
Aparentemente tengo una redis-server
ejecución porque cuando intento iniciar un nuevo servidor ingresando a redis-server
, redis-server
lo siguiente:
Opening port: bind: Address already in use
No puedo descubrir cómo detener este servidor y comenzar uno nuevo.
¿Hay algún comando que pueda adjuntar a redis-server
cuando estoy escribiendo en la CLI?
Mi sistema operativo es Ubuntu 10.04.
Detener el tipo de servidor redis en el terminal con usuario root.
sudo service redis-server stop
El mensaje se mostrará después de detener el servidor redis.
Stopping redis-server: redis-server.
Si desea iniciar el tipo de servidor redis
sudo service redis-server start
Si desea reiniciar el tipo de servidor.
sudo service redis-server restart
En MacOSX,
Esto es lo que funcionó para mí.
/etc/init.d/redis restart
/etc/init.d/redis stop
/etc/init.d/redis start
En mi caso fue:
/etc/init.d/redismaster stop
/etc/init.d/redismaster start
Para averiguar cuál es el nombre de su servicio, puede ejecutar:
sudo updatedb
locate redis
Y te mostrará todos los archivos de Redis en tu sistema.
Escriba SHUTDOWN
en la CLI
o
Si no le importan sus datos en la memoria, también puede escribir SHUTDOWN NOSAVE
para forzar el apagado del servidor.
Los siguientes comandos funcionan para mí en Ubuntu Server
$ service /etc/init.d/redis_6379 stop
$ service /etc/init.d/redis_6379 start
$ service /etc/init.d/redis_6379 restart
Los siguientes me funcionaron en MAC
ps aux | grep ''redis-server'' | awk ''{print $2}'' | xargs sudo kill -9
MacOSX - Funcionó :)
Paso 1: Encuentra el Redis Server previamente en ejecución
ps auxx | grep redis-server
Paso 2: elimine el proceso específico encontrando PID (ID de proceso) - Redis Sever
kill -9 PID
No sé específicamente para redis, pero para servidores en general:
¿Qué sistema operativo o distribución? A menudo, habrá un comando stop o /etc/init.d / ... que podrá buscar el pid existente en un archivo pid.
Puede consultar qué proceso ya está enlazado al puerto con sudo netstat -nlpt
(opciones de linux; otros sabores de netstat variarán) y señalarlo para que se detenga. No usaría kill -9
en un servidor en ejecución a menos que realmente no haya otra señal o método para apagarlo.
Opción 1: ir al directorio de instalación de redis y navegar a src
, en mi caso:
/opt/redis3/src/redis-cli -p 6379 shutdown
donde 6379 es el puerto predeterminado.
Opción 2: encontrar el proceso de redis y matar
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
Y luego inicia la matanza:
kill -9 22292
kill -9 22299
Estoy usando Centos 6.7, x86_64
Espero eso ayude
Otra forma podría ser:
brew services stop redis
Otra forma podría ser:
ps -ef | grep -i ''redis-server''
kill -9 PID owned by redis
Funciona en * NIX & OSX
Para osx creé los siguientes alias para iniciar y detener redis (redis instalado con homebrew):
alias redstart=''redis-server /usr/local/etc/redis/6379.conf''
alias redstop=''redis-cli -h 127.0.0.1 -p 6379 shutdown''
Esto me ha funcionado muy bien para el desarrollo local.
Por lo general, este problema surge después de apagar mi computadora (o dejarla en funcionamiento) de manera irregular. Creo que el puerto se queda bloqueado, mientras que el proceso se detiene pero continúa vinculado al puerto anterior.
9/10 veces la solución puede ser:
$ ps aux | grep redis
-> MyUser 2976 0.0 0.0 2459704 320 ?? S Wed01PM 0:29.94 redis-server *:6379
$ kill 2976
$ redis-server
Bueno para ir.
Pruebe killall redis-server
. También puede usar ps aux
para encontrar el nombre y el pid de su servidor, y luego eliminarlo con kill -9 here_pid_number
.
Si está ejecutando redis en un contenedor docker, ninguna de las respuestas presentes será de ayuda. Tienes que parar el contenedor redis. De lo contrario, el proceso de redis seguirá reapareciendo.
$ docker ps
CONTAINER ID IMAGE PORTS
e1c008ab04a2 bitnami/redis:4.0.8-r0 0.0.0.0:6379->6379/tcp
$ docker stop e1c008ab04a2
e1c008ab04a2
Si sabe en qué puerto se está ejecutando (por defecto sería 6379), puede usar el siguiente comando para obtener el pid del proceso usando ese puerto y luego puede ejecutar el comando kill para el mismo pid.
sudo lsof -i : <port> | awk ''{print $2}''
el comando anterior le dará pid.
mata a <pid>
;
Esto apagaría su servidor.
Una cosa para comprobar si los comandos de redis no están funcionando para usted es si realmente se está creando su redis-server.pid. Usted especifica la ubicación de donde está este archivo
/etc/systemd/system/redis.service
y debería tener una sección que se parece a esto:
[Service]
Type=forking
User=redis
Group=redis
ExecStart=/usr/bin/redis-server /etc/redis/redis.conf
PIDFile=/run/redis/redis-server.pid
TimeoutStopSec=0
Restart=always
Compruebe la ubicación y los permisos del directorio PIDFile (en mi caso, ''/ run / redis''). Estaba intentando reiniciar el servicio registrado como despliegue, pero los permisos de directorio se enumeraban como
drwxrwsr-x 2 redis redis 40 Jul 20 17:37 redis
Si necesita una actualización de los permisos de Linux, compruebe esto . Pero el problema era que estaba ejecutando el reinicio como mi usuario de implementación, que los permisos anteriores son rx, no permitiendo que mi usuario escriba en el directorio PIDFile.
Una vez que me di cuenta de que inicié sesión usando root, volví a ejecutar el comando de reinicio en el redis ( service redis restart
) y todo funcionó. Eso fue un dolor de cabeza, pero espero que esto le ahorre un poco de tiempo a alguien.
Una forma más limpia y confiable es ir a redis-cli y luego teclear shutdown
En redis-cli, escriba help @server
y verá esto cerca del final de la lista:
APAGADO - resumen: guarde sincrónicamente el conjunto de datos en el disco y luego apague el servidor desde: 0.07
Y si tiene una instancia de redis-server ejecutándose en un terminal, verá esto:
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...
systemd, ubuntu 16.04:
$ sudo systemctl is-active redis-server
active
$ sudo systemctl is-enabled redis-server
enabled
$ sudo systemctl disable redis-server
Synchronizing state of redis-server.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable redis-server
Removed /etc/systemd/system/redis.service.
$ sudo systemctl stop redis-server
redis-cli shutdown
es el más efectivo. La respuesta aceptada no funciona para mí (OSX Lion). Gracias, @JesseBuesking.