Launchd é um serviço de gerenciamento de processos do sistema operacional macOS da Apple. Ele lida com iniciação, parada e gerenciamento de daemons, aplicativos, processos e scripts. Ele foi projetado para consolidar várias tarefas utilitárias e scripts que foram manipulados por diferentes partes do sistema (como init, xinetd ou cron) em uma ferramenta unificada.
O launchd tem a responsabilidade de iniciar processos diretamente em resposta a eventos do sistema ou em horários específicos. Isso permite que o sistema operacional seja mais eficiente em termos de energia e reduz a complexidade no processo de inicialização.
Exemplo atualizado de .plist
:
Ajuste o caminho:
- Substitua
seu_usuario
pelo seu nome de usuário real. - Certifique-se de usar o caminho absoluto para
myscript.py
, pois olaunchd
pode não expandir o atalho~
.
Salvar e carregar:
- Salve este arquivo como
com.exemplo.tarefa-python-periodica.plist
em~/Library/LaunchAgents
ou em outro diretório apropriado. - Carregue-o no
launchd
usando o comandolaunchctl
:
launchctl load ~/Library/LaunchAgents/com.exemplo.tarefa-python-periodica.plist
Esta configuração executará seu script Python a cada 10 minutos. Ajuste o valor de StartInterval
conforme necessário.
Pode-se fazer um unload
para carregar novamente load
:
launchctl unload ~/Library/LaunchAgents/com.exemplo.tarefa-python-periodica.plist
Para ver os logs:
cat /var/log/com.apple.xpc.launchd/launchd.log | grep -i LABEL