Eu estava lendo a página do manual launchctl e tenho algumas perguntas sobre o seu funcionamento:
- Qual é a diferença entre carregar e iniciar, descarregar e parar?
- Onde encontro o rótulo do trabalho para um daemon, está no arquivo plist?
Eu estava lendo a página do manual launchctl e tenho algumas perguntas sobre o seu funcionamento:
Respostas:
launchctl load -w
e launchctl unload -w
.start
e stop
geralmente são reservados para testar ou depurar um trabalho.launchctl start <label>
: Inicia o trabalho. Isso geralmente é reservado apenas para testar ou depurar um trabalho específico.launchctl stop <label>
: Interrompe o trabalho. Oposto ao início, e é possível que o trabalho seja reiniciado imediatamente se o trabalho estiver configurado para continuar em execução.launchctl remove <label>
: Remove o trabalho de launchd
, mas de forma assíncrona. Ele não esperará que o trabalho realmente pare antes de retornar, portanto, não há tratamento de erros neste.launchctl load <path>
: Carrega e inicia o trabalho, desde que não esteja "desativado".launchctl unload <path>
: Interrompe e descarrega o trabalho. O trabalho ainda será reiniciado no próximo login / reinicialização.launchctl load -w <path>
: Carrega e inicia o trabalho, marcando-o como "não desativado". O trabalho será reiniciado no próximo login / reinicialização.launchctl unload -w <path>
: Interrompe, descarrega e desativa o trabalho. O trabalho NÃO será reiniciado no próximo login / reinicialização.Onde encontro o rótulo do trabalho para um daemon, está no arquivo plist?
Sim, está no arquivo plist e normalmente corresponde ao nome do arquivo do arquivo plist.
Carregar e descarregar informa ao launchd para carregar o arquivo de configuração. Se ele executa o programa e sob quais condições é determinado pelo arquivo plist. Um trabalho que não está em execução no momento pode ser iniciado launchctl start ...
e interrompido launchctl stop ...
.
O rótulo do trabalho é definido pela chave do rótulo, e o nome do plist também deve ser o rótulo do trabalho, seguido pela extensão do plist.