Comment 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ées par supervisord
exemple par apache2
Comment 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ées par supervisord
exemple par apache2
Réponses:
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
Consultez leurs pages de manuel pour plus d'informations.
Si vous avez affaire à un système Ubuntu moderne et à quelques autres distributions, vous devrez peut-être composer avec une combinaison de scripts init traditionnels et de scripts upstart. La gestion des scripts d'initialisation est couverte par d'autres réponses. Voici une façon d'empêcher un service parvenu à démarrer au démarrage:
# mv /etc/init/servicename.conf /etc/init/servicename.conf.disabled
Le problème avec cette méthode est qu'elle 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 de commenter toutes les lignes commençant par:
start on
Autrement dit, changez cela en
#start on ...
où le "..." est ce qui était après "démarrer" précédemment. De cette façon, lorsque vous souhaitez le réactiver, vous n'avez pas à vous rappeler quels étaient les paramètres de "démarrage".
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 depuis le shell:
# echo "manual" >> /etc/init/servicename.conf
Cela amènera upstart à ignorer toutes les phrases "start on" plus tôt dans le fichier.
Sur les systèmes Fedora et Future RHEL récents
systemctl disable httpd.service
désactivera le service httpd
systmctl
commande fonctionnait bien.
Pour répertorier tous les services de démarrage
systemctl
Pour arrêter l'exécution d'un service au démarrage
sudo systemctl disable servicename
Par exemple, si nous devons arrêter d'exécuter le serveur ssh au démarrage
sudo systemctl disable sshd.service
Nous pouvons réactiver ceci en utilisant
sudo systemctl enable sshd.service
Presque toutes les distributions Linux utilisent systemd pour démarrer les services de démarrage. Les commandes ci-dessus fonctionnent donc pour la plupart des distributions.
Slackware et Arch linux ont des méthodes similaires pour arrêter / démarrer les processus au démarrage, différentes des exemples de style Ubuntu et Redhat donnés ci-dessus.
Dans les linux Slackware et Arch, les scripts sh existent dans le répertoire /etc/rc.d
, généralement 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 approprié lors du démarrage du système avec un argument "start". Arch linux a des scripts nommés différemment, mais le même genre de chose continue.
Pour empêcher certains processus de démarrer pendant le démarrage du système, sur Slackware, il vous suffit de rendre le script approprié dans /etc/rc.d non exécutable. Pour empêcher Apache de démarrer au prochain démarrage:
chmod -x /etc/rc.d/rc.httpd
Pour arrêter un Apache démarré au démarrage: /etc/rc.d/rc.httpd stop
vous devez être root.
Arch est un peu plus complexe. Le fichier /etc/rc.conf, un script shell, a un tableau DAEMONS. Pour empêcher Apache de démarrer au démarrage, vous devez modifier 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à en cours d'exécution, vous devez exécuter en /etc/rc.d/httpd stop
tant que root.
Sur Ubuntu 10.04, vous pouvez contrôler certains programmes de démarrage à partir de l'interface graphique.
System→ Preferences→Startup Applications
1) appuyez sur la super-touche de votre clavier 2) recherchez «Applications de démarrage» 3) choisissez le programme que vous souhaitez désactiver 4) cliquez sur comme pour cette réponse si vous travaillez.