Como reinicio, digamos, por exemplo, meu httpd ou afpd, executando qualquer Mac OS X >= 10.5 (Leopard-), sem precisar usar a GUI e vá para Preferências do Sistema -> Compartilhamento e desmarque/marque "Compartilhamento da Web"?
Estou procurando o equivalente canônico ao invoke-rc.d apache2 restart
.
EDIT: A questão é sobre serviços controlados lançados em geral , não especificamente Apache (-que foi simplesmente um exemplo).
launchctl(8) é seu amigo. Apenas tenha em mente que alguns dos serviços (sshd por exemplo) estão desabilitados no arquivo de configuração, então você precisará usar o
-w
switch ao carregá-los. Aqui está um exemplo de sshd:Você pode parar o serviço usando o
unload
subcomando.Para listar os serviços, como você já deve ter adivinhado, use o subcomando 'list' ;)
Para reiniciar um serviço, você pode usar o
launchctl kickstart
comando, juntamente com a-k
opção. Por exemplo, para reiniciar o apache, você pode usarEsta informação é da
launchctl
página de manual:Você poderia simplesmente fazer
Se você não souber o nome completo do serviço, poderá fazer
Se você ainda não encontrar o serviço esperado, tente executar sem a identidade raiz:
E você não precisa descarregar e carregar serviço.
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Você está procurando
launchctl
.Apenas no caso de você estar procurando por
launchctl reload
, você pode definir a função shell no seu~/.bashrc/.zshrc
como eu fiz:A execução do comando se parece com ->
lctl reload <your-plist-name>.plist
Funciona com outros sistemas operacionais, assim como faz parte do Apache.
Para reiniciar, acho que a maneira mais fácil é matar o processo. Suponha que você configurou o keepalive, o que a maioria dos processos daemon faz.
pkill apache2
vai fazer. Em seguida, o processo será iniciado novamente por si só.Existe um aplicativo pequeno e útil para este chamado Lingon. A edição de freeware Lingon está aqui, às vezes, reiniciar um serviço pode ser complicado.
mas a leitura ajuda.