it-swarm-es.tech

Detener el programa que se ejecuta al inicio en Linux

¿Cómo detengo un programa que se ejecuta al inicio en Linux? Quiero eliminar algunas aplicaciones del inicio para permitir que sean gestionadas por supervisord por ejemplo Apache2

31
Frozenskys

Dependiendo de su distribución, use 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.

29
jacksonh

Si se trata de un sistema Ubuntu moderno y algunas otras distribuciones, es posible que deba lidiar con una combinación de scripts de inicio tradicionales y scripts de arranque. La gestión de scripts de inicio está cubierta por otras respuestas. La siguiente es una forma de detener el inicio de un servicio inicial en el arranque:

# mv /etc/init/servicename.conf /etc/init/servicename.conf.disabled

El problema con este método es que no le permite iniciar el servicio usando:

# service start servicename

Una alternativa a esto es abrir el servicename.conf archiva en tu editor favorito y comenta las líneas que comienzan con:

start on

Es decir, cambie esto a

#start on ...

donde el "..." es lo que fue después de "comenzar" anteriormente. De esta manera, cuando desee volver a habilitarlo, no tiene que recordar cuáles fueron los parámetros de "inicio".

Finalmente, si tiene una nueva versión de arranque, simplemente puede agregar el "manual" de Word al final del archivo de configuración. Puede hacer esto directamente desde el Shell:

# echo "manual" >> /etc/init/servicename.conf

Esto provocará que upstart ignore cualquier frase de "inicio" anterior en el archivo.

6
Steven D

En los recientes sistemas Fedora y Future RHEL

systemctl disable httpd.service

deshabilitará el servicio httpd

3
Alastair

Para enumerar todos los servicios de inicio

    systemctl

Para detener la ejecución de un servicio al iniciar

    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 usan systemd para los servicios de arranque de arranque. Entonces, los comandos anteriores funcionan para la mayoría de las distribuciones.

1
Prince

Slackware y Arch Linux tienen métodos similares para detener/iniciar procesos en el arranque, diferentes a los ejemplos de Ubuntu y de estilo Redhat dados anteriormente.

Tanto en Slackware como en Linux, existen scripts sh en el directorio /etc/rc.d, normalmente una secuencia de comandos por demonio o una secuencia de comandos por subsistema.

Por ejemplo, Slackware inicia el servidor web Apache con un script /etc/rc.d/rc.httpd, llamado en el momento apropiado durante el inicio del sistema con un argumento de "inicio". Arch Linux tiene scripts con nombres diferentes, pero sucede lo mismo.

Para evitar que se inicie algún proceso durante el arranque del sistema, en Slackware, solo debe hacer que el script apropiado en /etc/rc.d no sea ejecutable. Para evitar que Apache comience en el próximo arranque:

chmod -x /etc/rc.d/rc.httpd

Para detener un Apache que comenzó en el arranque: /etc/rc.d/rc.httpd stop Necesitarás ser root.

Arch es un poco más complejo. El archivo /etc/rc.conf, un script de Shell, tiene una matriz DAEMONS. Para evitar que Apache comience en el arranque, debe cambiar esta línea en /etc/rc.conf:

DAEMONS=(hal syslog-ng network netfs crond alsa sshd httpd ntpd postgresql)

A esta línea:

DAEMONS=(hal syslog-ng network netfs crond alsa sshd ntpd postgresql)

Para detener un Apache que ya se está ejecutando, debe ejecutar /etc/rc.d/httpd stop como root.

0
Bruce Ediger

En Ubuntu 10.04 puedes controlar algunos programas de inicio desde la GUI.

SystemPreferencesStartup Applications

Startup Applications Preferences

0
jjclarkson