Como faço para parar um programa em execução na inicialização do Linux. Quero remover alguns aplicativos da inicialização para permitir que eles sejam gerenciados, por supervisord
exemplo, apache2
Como faço para parar um programa em execução na inicialização do Linux. Quero remover alguns aplicativos da inicialização para permitir que eles sejam gerenciados, por supervisord
exemplo, apache2
Respostas:
Dependendo da sua distribuição, use a ferramenta chkconfig ou update-rc.d para ativar / desativar os serviços do sistema.
Em um sistema de estilo redhat / suse / mandrake:
sudo chkconfig apache2 off
No Debian:
sudo update-rc.d -f apache2 remove
Confira suas páginas de manual para mais informações.
Se você está lidando com um sistema Ubuntu moderno e algumas outras distribuições, pode ser necessário lidar com uma combinação de scripts init tradicionais e scripts iniciais. O gerenciamento de scripts init é coberto por outras respostas. A seguir, é uma maneira de impedir que um serviço inicial inicie na inicialização:
# mv /etc/init/servicename.conf /etc/init/servicename.conf.disabled
O problema com esse método é que ele não permite que você inicie o serviço usando:
# service start servicename
Uma alternativa para isso é abrir o servicename.conf
arquivo no seu editor favorito e comentar as linhas que começam com:
start on
Ou seja, altere isso para
#start on ...
onde o "..." é o que estava depois de "iniciar" anteriormente. Dessa forma, quando você deseja reativá-lo, não precisa se lembrar de quais eram os parâmetros "iniciar".
Por fim, se você possui uma nova versão do upstart, basta 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 iniciante ignore qualquer frase "iniciar" anteriormente no arquivo.
Nos sistemas recentes Fedora e Future RHEL
systemctl disable httpd.service
desabilitará o serviço httpd
systmctl
comando funcionou bem.
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 ativar isso novamente usando
sudo systemctl enable sshd.service
Quase todas as distribuições linux usam systemd para inicializar serviços de inicialização. Portanto, os comandos acima funcionam para a maioria das distribuições.
O Slackware e o Arch linux têm métodos semelhantes de parar / iniciar processos na inicialização, diferentes dos exemplos de estilo Ubuntu e Redhat fornecidos acima.
Nos linuxes do Slackware e do Arch, existem scripts sh no diretório /etc/rc.d
, geralmente um script por daemon ou um script por subsistema.
Por exemplo, o Slackware inicia o servidor da web Apache com um script /etc/rc.d/rc.httpd
, chamado no momento apropriado durante a inicialização do sistema com o argumento "start". O Arch Linux possui scripts com nomes diferentes, mas o mesmo tipo de coisa acontece.
Para impedir que algum processo seja iniciado durante a inicialização do sistema, no Slackware, você apenas torna o script apropriado em /etc/rc.d não executável. Para impedir que o Apache inicie na próxima inicialização:
chmod -x /etc/rc.d/rc.httpd
Para parar um Apache iniciado na inicialização: /etc/rc.d/rc.httpd stop
Você precisará ser root.
Arch é um pouco mais complexo. O arquivo /etc/rc.conf, um script de shell, possui uma matriz DAEMONS. Para impedir que o Apache inicie na inicialização, você deve alterar esta linha no /etc/rc.conf:
DAEMONS=(hal syslog-ng network netfs crond alsa sshd httpd ntpd postgresql)
Para esta linha:
DAEMONS=(hal syslog-ng network netfs crond alsa sshd ntpd postgresql)
Para parar um apache já em execução, você deve executar /etc/rc.d/httpd stop
como root.
No Ubuntu 10.04, você pode controlar alguns programas de inicialização a partir da GUI.
System→ Preferences→Startup Applications
1) toque em super-chave no teclado 2) pesquise 'Aplicativos de Inicialização' 3) escolha o programa que deseja desativar 4) clique como esta resposta no worx.