Aparentemente tengo una redis-serverinstancia ejecutándose porque cuando intento iniciar un nuevo servidor ingresando redis-server, me saludan con lo siguiente:
Opening port: bind: Address already in use
No puedo entender cómo detener este servidor e iniciar uno nuevo.
¿Hay algún comando que pueda agregar redis-servercuando estoy escribiendo en la CLI?
Mi sistema operativo es Ubuntu 10.04.

redis-cli ping. Un servidor Redis en ejecución responderá conPONG.Respuestas:
Conéctese a la instancia del nodo y use el comando de apagado o si está en ubuntu, puede intentar reiniciar el servidor redis a través de init.d:
o detenerlo / iniciarlo:
En Mac
fuente
launchctlpara hacer esto, y en otros sistemas,systemctloservice.service redis-server stopyservice redis-server start, después de haberlo instalado conapt-get install redis-server.Una forma más limpia y confiable es entrar en redis-cli y luego escribir
shutdownEn redis-cli, escriba
help @servery verá esto cerca del final de la lista:Y si tiene una instancia de redis-server ejecutándose en una terminal, verá esto:
fuente
redis-cli shutdown. (puede enviar cualquier comando como este, por ejemploredis-cli set cat dog; redis-cli get cat)redis-cli set cat dog; redis-cli get catcambia aredis-cli -a mypassword set cat dog; redis-cli -a mypassword get cat, lo que puede ser molesto después de algunos comandos.alias redis-cli="redis-cli -a mypassword". De esta manera, puede hacer las llamadas como en mi comentario original sin tener que volver a proporcionar su contraseña en cada uso.redis-cli shutdownEs más efectivo. La respuesta aceptada no funciona para mí (OSX Lion). Gracias, @JesseBuesking.fuente
redis-cli.exe shutdownredis-cli --helppudiera haber cubierto este caso.Para OSX, creé los siguientes alias para iniciar y detener
redis(instalado con Homebrew):¡Esto ha funcionado muy bien para el desarrollo local!
Homebrew ahora tiene
homebrew-servicesque se puede usar para iniciar, detener y reiniciar servicios. servicios de elaboración caserabrew servicesse instala automáticamente cuando se ejecuta.Si lo usa
run, no lo iniciará al iniciar sesión (ni al arrancar).startiniciará elredisservicio y lo agregará al iniciar sesión y arrancar.fuente
brew services stop redistambién funciona! :)Escriba
SHUTDOWNla CLIo
Si no le importan sus datos en la memoria, también puede escribir
SHUTDOWN NOSAVEpara forzar el apagado del servidor.fuente
Tratar
killall redis-server. También puede usarps auxpara encontrar el nombre y el pid de su servidor, y luego matarlo conkill -9 here_pid_number.fuente
Opción 1: vaya al directorio de instalación de redis y navegue hasta
src, en mi caso:donde 6379 es el puerto predeterminado.
Opción 2: encontrar el proceso de redis y matar
Y luego iniciar matar:
Estoy usando Centos 6.7, x86_64
Espero eso ayude
fuente
detener el tipo de servidor redis en terminal con usuario root
el mensaje se mostrará después de detener el servidor redis
si desea iniciar el tipo de servidor redis
si quieres reiniciar el tipo de servidor
fuente
service --status-allno mostrará redis, por lo tanto, cualquierservicecomando fallaráredis-server. Pero Redis se muestraps -ef. Simplemente no puedo encontrar ningún documento relacionado.sudo service redis start/stop/statushace lo mismo, ambos van.Otra forma podría ser:
Funciona en * NIX y OSX
fuente
MacOSX - Funcionó :)
Paso 1: busque el servidor Redis que se ejecutaba anteriormente
Paso 2: elimine el proceso específico buscando PID (ID de proceso) - Redis Sever
fuente
Si sabe en qué puerto se estaría ejecutando (de manera predeterminada sería 6379), puede usar el siguiente comando para obtener el pid del proceso utilizando ese puerto y luego puede ejecutar el comando kill para el mismo pid.
el comando anterior te dará pid.
matar
<pid>;Esto apagaría su servidor.
fuente
systemd, ubuntu 16.04:
fuente
Por lo general, este problema surge después de que apago mi computadora (o la dejo ejecutándose) de manera irregular. Creo que el puerto se queda atascado, mientras que el proceso se detiene pero continúa vinculado al puerto anterior.
9/10 veces la solución puede ser:
Bueno para ir.
fuente
En mi caso fue:
Para saber cuál es el nombre de su servicio, puede ejecutar:
Y le mostrará todos los archivos Redis en su sistema.
fuente
si realizó la instalación (por ejemplo, ubuntu) mientras instalaba redis , puede hacer:
como lo señaló @ yojimbo87 :)
fuente
Otra forma podría ser:
fuente
Siguiente funcionó para mí en MAC
fuente
Si está ejecutando redis en un contenedor acoplable, ninguna de las respuestas actuales le ayudará. Tienes que detener el contenedor redis. De lo contrario, el proceso de redis seguirá reapareciendo.
fuente
Si sabe en qué puerto (predeterminado: 6379) se está ejecutando su servidor redis, puede ir con la opción 1 o puede verificar su proceso de redis y puede matar con la opción 2
opción 1:
Proceso de eliminación en el puerto:
opción 2:
buscar el servidor Redis que se estaba ejecutando anteriormente
Elimine el proceso específico buscando PID (ID de proceso) - Redis Sever
Ahora inicie su servidor redis con
fuente
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 buscar qué proceso ya está vinculado al puerto con
sudo netstat -nlpt(opciones de Linux; otros sabores de netstat variarán) y señalar que se detenga. Yo no utilizokill -9en un servidor que ejecuta a menos que realmente no hay otra señal o método para apagarlo.fuente
Los siguientes comandos me funcionan en Ubuntu Server
fuente
En MacOSX,
Esto es lo que funcionó para mí.
fuente
Una cosa para verificar si los comandos redis no funcionan para usted es si su redis-server.pid realmente se está creando. Usted especifica la ubicación de dónde está este archivo
y debería tener una sección que se vea así:
Verifique la ubicación y los permisos del directorio PIDFile (en mi caso, '/ run / redis'). Estaba intentando reiniciar el servicio conectado como despliegue, pero los permisos del directorio estaban listados como
drwxrwsr-x 2 redis redis 40 Jul 20 17:37 redisSi necesita una actualización de los permisos de Linux, consulte esto . Pero el problema era que estaba ejecutando el reinicio como mi usuario de implementación, cuyos permisos anteriores son rx, no permitiendo que mi usuario escriba en el directorio PIDFile.
Una vez que me di cuenta de eso, inicié sesión con root, volví a ejecutar el comando de reinicio en redis (
service redis restart) y todo funcionó. Eso fue un dolor de cabeza, pero espero que esto le ahorre a alguien un poco de tiempo.fuente
Redis tiene un parámetro de configuración
pidfile(por ejemplo, /etc/redis.conf - verifique el código fuente de redis ), por ejemplo:Si está configurado o podría establecerse, en lugar de buscar el id de proceso (pid) usando
ps + grepalgo como esto podría usarse:Si es necesario, se puede hacer un script de detención de redis como este ( script predeterminado adaptado redis 5.0 init.d en el código fuente de redis ):
fuente