web-dev-qa-db-fra.com

Arrêtez le programme en cours d'exécution au démarrage de Linux

Comment puis-je arrêter un programme en cours d'exécution au démarrage sous Linux. Je souhaite supprimer certaines applications du démarrage pour leur permettre d'être géré par supervisord e.g apache2

31
Frozenskys

Selon votre distribution, utilisez l'outil chkconfig ou update-rc.d pour activer/désactiver les services système.

Sur un système de style redhat/SUSE/MANDRAKE:

Sudo chkconfig Apache2 off 

Sur Debian:

Sudo update-rc.d -f Apache2 remove

Checkout leurs pages d'homme pour plus d'informations.

29
jacksonh

Si vous avez affaire à un système Ubuntu moderne et à quelques autres distributions, vous devrez peut-être gérer une combinaison de scripts d'initialisation traditionnels et de scripts à la hausse. La gestion des scripts init est couverte par d'autres réponses. Ce qui suit est un moyen d'arrêter un service de base à partir du démarrage:

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

Le problème avec cette méthode est qu'il ne vous permet pas de démarrer le service en utilisant:

# service start servicename

Une alternative à cela est d'ouvrir le servicename.conf Fichier dans votre éditeur préféré et commenter les lignes qui commencent par:

start on

C'est-à-dire changer cela à

#start on ...

où le "..." est ce qui était après "commencer" précédemment. De cette façon, lorsque vous souhaitez le réactiver, vous n'avez pas à vous rappeler que les paramètres "Démarrer sur" étaient.

Enfin, si vous avez une nouvelle version de UPSTART, vous pouvez simplement ajouter le mot "manuel" à la fin du fichier de configuration. Vous pouvez le faire directement à partir de la coquille:

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

Cela entraînera l'ignorer les phrases "démarrer sur" plus tôt dans le fichier.

6
Steven D

Sur les récents systèmes Fedora et futurs Rhel

systemctl disable httpd.service

désactivera le service httpd

3
Alastair

Slackware et Arch Linux ont des méthodes similaires de processus d'arrêt/de démarrage au démarrage, différents des exemples de style Ubuntu et de RedHat donnés ci-dessus.

Dans Slackware et Arch Linuxes, SH Scripts existent dans le répertoire /etc/rc.d, typiquement un script par démon, ou un script par sous-système.

Par exemple, Slackware démarre le serveur Web Apache avec un script /etc/rc.d/rc.httpd, appelé au moment opportun lors du démarrage du système avec un argument de "start". Arch Linux a des scripts intitulés différemment, mais le même genre de chose continue.

Pour conserver un processus de départ pendant le démarrage du système, sur Slackware, vous devez simplement rendre le script approprié dans /etc/rc.d non exécutable. Pour garder Apache à partir du prochain démarrage:

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

Pour arrêter une apache qui a commencé à démarrer: /etc/rc.d/rc.httpd stop Vous devrez être root.

Arche est un peu plus complexe. Le fichier /etc/rc.conf, un script shell, contient des démons de matrice. Pour garder Apache à partir de démarrage au démarrage, vous changeriez cette ligne dans /etc/rc.conf:

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

À cette ligne:

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

Pour arrêter un Apache déjà exécutant, vous exécuteriez /etc/rc.d/httpd stop comme la racine.

0
Bruce Ediger

Sur Ubuntu 10.04, vous pouvez contrôler certains programmes de démarrage de l'interface graphique.

SystemPreferencesStartup Applications

Startup Applications Preferences

0
jjclarkson