Si cambiaste la configuración de un servicio de Homebrew y necesitas que surta efecto, reinicia ese servicio por su nombre de fórmula: brew services restart formula. Por ejemplo, usa brew services restart postgresql@16 si esa es la fórmula que instalaste. Homebrew detiene el servicio si es necesario, lo inicia de nuevo y lo registra para que se ejecute al iniciar sesión. Comprueba la lista de servicios después para confirmar el estado notificado.
Antes de reiniciar, identifica el servicio y la configuración
Los servicios de Homebrew administran procesos en segundo plano a través de launchctl de macOS. Sin sudo, Homebrew opera en los LaunchAgents del usuario actual, diseñados para iniciarse al iniciar sesión. Con sudo, opera en los LaunchDaemons del sistema, diseñados para iniciarse en el arranque. La referencia de brew services de Homebrew documenta esta distinción, así que usa el mismo nivel de privilegios con el que se inició originalmente el servicio; alternar entre los contextos de usuario y root puede hacer que inspecciones o afectes un registro de servicio diferente.
Si no estás seguro del nombre de la fórmula, lista los servicios que Homebrew administra para tu usuario actual:
brew services list
La lista puede mostrar el nombre del servicio, el estado, el usuario y la ruta del plist. Utiliza el nombre de la fórmula que se muestra allí en el comando de reinicio. Evita --all a menos que tengas la intención de reiniciar todos los servicios administrados, ya que afecta a más que a aquel cuya configuración editaste. La referencia también documenta brew services list --debug para obtener una salida adicional de Homebrew y launchctl al solucionar problemas.
Aplica el cambio con brew services restart
Ejecuta el reinicio en la Terminal con la misma cuenta de macOS que ejecuta el servicio:
brew services restart postgresql@16
Reemplaza postgresql@16 con la fórmula que encontraste en la lista de servicios. El nombre con versión es solo un ejemplo. Homebrew define restart como detener el servicio si es necesario e iniciarlo de inmediato, a la vez que lo registra para ejecutarse al iniciar sesión (o en el arranque cuando se usa con sudo). Esto hace que el reinicio sea adecuado cuando un servicio en ejecución debe recargar la configuración. La referencia de comandos detalla el comportamiento y los modificadores opcionales --all y --file.
No agregues sudo de forma automática. Úsalo únicamente si el servicio se registró deliberadamente como un servicio del sistema y tu intención es gestionar el registro a nivel de root. De lo contrario, sudo puede dirigirse a un LaunchDaemon diferente, y el servicio a nivel de usuario puede permanecer sin cambios. Si simplemente quieres que un proceso se ejecute una vez sin registrarlo para iniciarse al iniciar sesión, Homebrew documenta brew services run formula; ese comando no reemplaza un reinicio para un servicio que esperas que siga estando gestionado.
Comprueba el resultado y soluciona un reinicio fallido
Una vez completado el comando, vuelve a consultar la lista de servicios gestionados:
brew services list
Confirma que la fórmula prevista aparezca con el estado started e inspecciona su usuario y su ruta plist. El estado started confirma que Homebrew reporta que se ha iniciado; no demuestra de forma independiente que la aplicación haya aceptado la nueva configuración o que esté respondiendo a solicitudes. Verifica la aplicación mediante su propia comprobación de estado (health check) documentada o revisando el comportamiento que controla el parámetro modificado.
Si el servicio no se inicia, ejecuta el comando de lista con --debug y lee la salida de error o los registros propios del servicio antes de realizar más cambios. Comprueba la sintaxis de configuración, los permisos de archivo y las rutas de la aplicación contrastándolos con su documentación. El comando de servicio de Homebrew inicia el servicio utilizando su definición de servicio; no valida cada opción de configuración específica de la aplicación. Evita editar los archivos plist generados como primera solución: el mecanismo de configuración documentado de Homebrew depende del parámetro que necesites cambiar.
Cuando el cambio es una variable de entorno
Si tu cambio es una variable de entorno para el servicio, Homebrew documenta un archivo de entorno dedicado por fórmula. Por defecto, ubícalo en ~/.homebrew/services/formula.env; si HOMEBREW_USER_CONFIG_HOME está configurado, el directorio es $HOMEBREW_USER_CONFIG_HOME/services. Usa una asignación KEY=value por línea, con # al inicio de una línea de comentario. Luego reinicia el servicio; Homebrew indica que estos valores surten efecto en el siguiente reinicio y persisten a través de las actualizaciones. Consulta las instrucciones de entorno de servicio en la referencia de Homebrew.
Por ejemplo, el formato de archivo documentado es KEY=value, pero el nombre de la variable y el valor deben provenir de la documentación de la aplicación. No asumas que todas las aplicaciones aceptan variables de entorno arbitrarias y no pegues secretos en un archivo de entorno sin considerar quién puede leerlo. Si tu cambio de configuración es un archivo de configuración de la aplicación en lugar de una variable de entorno, edita la ubicación del archivo especificada por dicha aplicación y, a continuación, utiliza el mismo comando de reinicio.
La secuencia fiable es: identificar la fórmula exacta y el contexto del servicio, editar la configuración en la ubicación que especifique la documentación de la aplicación o de Homebrew, reiniciar esa fórmula en concreto y verificar tanto el estado de Homebrew como el comportamiento de la aplicación.
Fuentes
- Manpage.md — Homebrew