Se você alterou a configuração de um serviço do Homebrew e precisa que ela entre em vigor, reinicie esse serviço pelo nome da sua fórmula: brew services restart formula. Por exemplo, use brew services restart postgresql@16 se essa foi a fórmula instalada. O Homebrew para o serviço, se necessário, inicia-o novamente e o registra para iniciar no login. Verifique a lista de serviços depois para confirmar o estado reportado.

Antes de reiniciar, identifique o serviço e a configuração

Os serviços do Homebrew gerenciam processos em segundo plano por meio do launchctl do macOS. Sem sudo, o Homebrew opera nos LaunchAgents do usuário atual, destinados a iniciar no login. Com sudo, ele opera nos LaunchDaemons do sistema, destinados a iniciar na inicialização (boot). A referência do brew services do Homebrew documenta essa distinção; portanto, use o mesmo nível de privilégio que iniciou o serviço originalmente; alternar entre os contextos de usuário e root pode fazer com que você inspecione ou afete um registro de serviço diferente.

Se não tiver certeza do nome da fórmula, liste os serviços que o Homebrew gerencia para o seu usuário atual:

brew services list

A lista pode exibir o nome do serviço, status, usuário e o caminho do plist. Use o nome da fórmula exibido ali no comando de reinicialização. Evite --all, a menos que pretenda reiniciar todos os serviços gerenciados, pois ele afetará mais do que apenas aquele cuja configuração você editou. A referência também documenta brew services list --debug para saída adicional do Homebrew e do launchctl durante a solução de problemas.

Aplique a alteração com brew services restart

Execute a reinicialização no Terminal com a mesma conta do macOS que executa o serviço:

brew services restart postgresql@16

Substitua postgresql@16 pela fórmula que você encontrou na lista de serviços. O nome com versão é apenas um exemplo. O Homebrew define restart como a interrupção do serviço, se necessário, e seu início imediato, ao mesmo tempo em que o registra para iniciar no login (ou na inicialização do sistema quando usado com sudo). Isso torna a reinicialização adequada quando um serviço em execução precisa recarregar configurações. A referência do comando lista o comportamento e as flags opcionais --all e --file.

Não adicione sudo automaticamente. Use-o apenas se o serviço foi deliberadamente registrado como um serviço do sistema e você pretende gerenciar o registro a nível de root. Caso contrário, sudo pode ter como alvo um LaunchDaemon diferente, e o serviço a nível de usuário pode permanecer inalterado. Se você deseja apenas que um processo seja executado uma vez sem registrá-lo para iniciar no login, o Homebrew documenta brew services run formula; esse comando não substitui a reinicialização para um serviço que você espera que continue gerenciado.

Verifique o resultado e solucione uma falha na reinicialização

Após a conclusão do comando, verifique novamente a lista de serviços gerenciados:

brew services list

Confirme que a fórmula pretendida aparece com o status de iniciada (started) e inspecione o usuário e o caminho do plist. O status de iniciada confirma que o Homebrew informa que ela foi iniciada; isso não comprova de forma independente que o aplicativo aceitou as novas configurações ou está respondendo a solicitações. Verifique o aplicativo com sua própria verificação de integridade documentada ou verificando o comportamento controlado pela configuração alterada.

Se o serviço não iniciar, execute o comando de listagem com --debug e leia a própria saída de erro ou os logs do serviço antes de fazer outras alterações. Verifique a sintaxe de configuração do aplicativo, as permissões de arquivo e os caminhos em relação à documentação desse aplicativo. O comando de serviço do Homebrew inicia o serviço usando sua definição de serviço; ele não valida todas as opções de configuração específicas da aplicação. Evite editar os arquivos plist gerados como primeira solução: o mecanismo de configuração documentado do Homebrew depende do parâmetro que você precisa alterar.

Quando a alteração é uma variável de ambiente

Se a sua alteração for uma variável de ambiente para o serviço, o Homebrew documenta um arquivo de ambiente dedicado por fórmula. Por padrão, coloque-o em ~/.homebrew/services/formula.env; se HOMEBREW_USER_CONFIG_HOME estiver definido, o diretório é $HOMEBREW_USER_CONFIG_HOME/services. Use uma atribuição KEY=value por linha, com # no início de uma linha de comentário. Em seguida, reinicie o serviço; o Homebrew informa que esses valores entram em vigor na próxima reinicialização e persistem entre atualizações. Consulte as instruções de ambiente de serviço na referência do Homebrew.

Por exemplo, o formato de arquivo documentado é KEY=value, mas o nome da variável e o valor devem vir da documentação do aplicativo. Não presuma que todo aplicativo aceita variáveis de ambiente arbitrárias e não cole segredos em um arquivo de ambiente sem considerar quem tem permissão para lê-lo. Se a alteração de configuração for um arquivo de configuração da aplicação em vez de uma variável de ambiente, edite o local do arquivo especificado por essa aplicação e use o mesmo comando de reinicialização.

A sequência confiável é: identifique a fórmula exata e o contexto do serviço, edite a configuração no local que a aplicação ou a documentação do Homebrew especifica, reinicie essa única fórmula e verifique tanto o status do Homebrew quanto o comportamento da aplicação.

Fontes