
Como faço para interromper a execução de um programa na inicialização do Linux. Quero remover alguns aplicativos da inicialização para permitir que sejam gerenciados, supervisord
por exemplo, Apache2
Responder1
Dependendo da sua distribuição, use a ferramenta chkconfig ou update-rc.d para ativar/desativar os serviços do sistema.
Em um sistema estilo redhat/suse/mandrake:
sudo chkconfig apache2 off
No Debian:
sudo update-rc.d -f apache2 remove
Confira suas páginas de manual para obter mais informações.
Responder2
Se você estiver lidando com um sistema Ubuntu moderno e algumas outras distros, poderá ter que lidar com uma combinação de scripts de inicialização tradicionais e scripts iniciais. O gerenciamento de scripts de inicialização é abordado por outras respostas. A seguir está uma maneira de impedir que um serviço inicial seja iniciado na inicialização:
# mv /etc/init/servicename.conf /etc/init/servicename.conf.disabled
O problema desse método é que ele não permite iniciar o serviço usando:
# service start servicename
Uma alternativa é abrir o servicename.conf
arquivo em seu editor favorito e comentar todas as linhas que começam com:
start on
Ou seja, mude isso para
#start on ...
onde "..." é o que estava depois de "iniciar" anteriormente. Dessa forma, quando quiser reativá-lo, não será necessário lembrar quais eram os parâmetros de “iniciar em”.
Finalmente, se você tiver uma nova versão do upstart, você pode simplesmente adicionar a palavra “manual” ao final do arquivo de configuração. Você pode fazer isso diretamente do shell:
# echo "manual" >> /etc/init/servicename.conf
Isso fará com que o upstart ignore qualquer frase "iniciar em" anteriormente no arquivo.
Responder3
Para listar todos os serviços de inicialização
systemctl
Para interromper a execução de um serviço na inicialização
sudo systemctl disable servicename
Por exemplo, se precisarmos parar de executar o servidor ssh na inicialização
sudo systemctl disable sshd.service
Podemos habilitar isso novamente usando
sudo systemctl enable sshd.service
Quase todas as distribuições Linux usam o systemd para inicializar serviços de inicialização. Portanto, os comandos acima funcionam para a maioria das distros.
Responder4
No Ubuntu 10.04 você pode controlar alguns programas de inicialização a partir da GUI.
System→ Preferences→Startup Applications