Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
O launchctl
é uma ferramenta poderosa no macOS que permite gerenciar serviços e agentes de inicialização do sistema. Ele é parte integrante do launchd, o sistema de inicialização do macOS que substitui scripts de inicialização tradicionais. Este artigo irá guiá-lo através do uso de launchctl
para gerenciar serviços no macOS, com exemplos práticos.
No macOS, launchctl
é utilizado para carregar, descarregar, iniciar e parar serviços e agentes. Esses serviços são definidos em arquivos de configuração plist (Property List), que especificam como e quando eles devem ser executados. Os serviços podem ser configurados para iniciar automaticamente no login do usuário ou na inicialização do sistema.
Para listar todos os serviços atualmente carregados, você pode usar o seguinte comando:
launchctl list
Este comando irá exibir uma lista de todos os serviços, incluindo seu PID (se estiverem em execução) e o nome do serviço.
Para carregar um serviço, você precisa de um arquivo plist que define o serviço. Suponha que você tenha um arquivo chamado com.exemplo.meuservico.plist
no diretório /Library/LaunchDaemons
. Para carregar este serviço, use:
sudo launchctl load /Library/LaunchDaemons/com.exemplo.meuservico.plist
Para descarregar um serviço, que efetivamente o para e remove do launchd, use:
sudo launchctl unload /Library/LaunchDaemons/com.exemplo.meuservico.plist
Se o serviço já estiver carregado, mas não em execução, você pode iniciá-lo manualmente com:
sudo launchctl start com.exemplo.meuservico
Para parar um serviço que está em execução, use:
sudo launchctl stop com.exemplo.meuservico
Um arquivo plist básico para um serviço pode se parecer com isto:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.exemplo.meuservico</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/meuservico</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Salve este arquivo em /Library/LaunchDaemons
para serviços do sistema ou ~/Library/LaunchAgents
para serviços do usuário.
O launchctl
é uma ferramenta essencial para gerenciar serviços no macOS. Compreender como utilizá-lo pode ajudar a automatizar tarefas e gerenciar melhor os recursos do sistema. Sempre tenha cuidado ao manipular serviços do sistema, pois alterações incorretas podem afetar a estabilidade do macOS.