
¿Cómo detengo un programa que se ejecuta al inicio en Linux? Quiero eliminar algunas aplicaciones del inicio para permitir que sean administradas, supervisord
por ejemplo, por Apache2
Respuesta1
Dependiendo de su distribución, utilice la herramienta chkconfig o update-rc.d para habilitar/deshabilitar los servicios del sistema.
En un sistema de estilo redhat/suse/mandrake:
sudo chkconfig apache2 off
En Debian:
sudo update-rc.d -f apache2 remove
Consulte sus páginas de manual para obtener más información.
Respuesta2
Si se trata de un sistema Ubuntu moderno y algunas otras distribuciones, es posible que tenga que lidiar con una combinación de scripts de inicio tradicionales y scripts de inicio. La gestión de scripts de inicio se trata en otras respuestas. La siguiente es una forma de detener el inicio de un servicio advenedizo durante el arranque:
# mv /etc/init/servicename.conf /etc/init/servicename.conf.disabled
El problema con este método es que no te permite iniciar el servicio usando:
# service start servicename
Una alternativa a esto es abrir el servicename.conf
archivo en su editor favorito y comentar cualquier línea que comience con:
start on
Es decir, cambie esto a
#start on ...
donde "..." es lo que estaba después de "empezar" anteriormente. De esta manera, cuando quieras volver a habilitarlo, no tendrás que recordar cuáles eran los parámetros de "iniciar".
Finalmente, si tiene una nueva versión de upstart, simplemente puede agregar la palabra "manual" al final del archivo de configuración. Puedes hacer esto directamente desde el shell:
# echo "manual" >> /etc/init/servicename.conf
Esto hará que advenedizo ignore cualquier frase de "inicio" anterior en el archivo.
Respuesta3
Para enumerar todos los servicios de inicio
systemctl
Para detener la ejecución de un servicio al inicio
sudo systemctl disable servicename
Por ejemplo, si necesitamos dejar de ejecutar el servidor ssh al inicio
sudo systemctl disable sshd.service
Podemos habilitar esto nuevamente usando
sudo systemctl enable sshd.service
Casi todas las distribuciones de Linux utilizan systemd para iniciar los servicios de inicio. Entonces, los comandos anteriores funcionan para la mayoría de las distribuciones.
Respuesta4
En Ubuntu 10.04 puedes controlar algunos programas de inicio desde la GUI.
System→ Preferences→Startup Applications