
Eu tenho um serviço launchd com rótulo homebrew.mxcl.postgresql
:
$ launchctl list homebrew.mxcl.postgresql
{
"LimitLoadToSessionType" = "Aqua";
"StandardErrorPath" = "/usr/local/var/log/postgres.log";
"Label" = "homebrew.mxcl.postgresql";
"TimeOut" = 30;
"OnDemand" = false;
"LastExitStatus" = 0;
"PID" = 5436;
"Program" = "/usr/local/opt/postgresql/bin/postgres";
"ProgramArguments" = (
"/usr/local/opt/postgresql/bin/postgres";
"-D";
"/usr/local/var/postgres";
);
};
Quero parar este serviço! No entanto, o comando óbvio stop
não funciona. Em vez disso, reinicia o serviço com um novo PID:
$ launchctl stop homebrew.mxcl.postgresql
$ launchctl list homebrew.mxcl.postgresql
{
"LimitLoadToSessionType" = "Aqua";
"StandardErrorPath" = "/usr/local/var/log/postgres.log";
"Label" = "homebrew.mxcl.postgresql";
"TimeOut" = 30;
"OnDemand" = false;
"LastExitStatus" = 0;
"PID" = 5819;
"Program" = "/usr/local/opt/postgresql/bin/postgres";
"ProgramArguments" = (
"/usr/local/opt/postgresql/bin/postgres";
"-D";
"/usr/local/var/postgres";
);
};
Como faço para realmente interromper o serviço?
Responder1
Um trabalho interrompido será reiniciado imediatamente se for suposto ser iniciado. Em vez disso, você deve descarregar o serviço:
launchctl unload homebrew.mxcl.postgresql
Para desativá-lo permanentemente, especifique também a -w
chave:
launchctl unload -w homebrew.mxcl.postgresql
Para Homebrew, também háserviços de homebrew. Para instalá-lo:
brew tap homebrew/services
Então você pode iniciar e parar serviços com mais facilidade:
brew services start postgresql
brew services stop postgresql