Stoppen Sie das laufende Programm beim Start in Linux

Stoppen Sie das laufende Programm beim Start in Linux

Wie beende ich ein Programm, das beim Start in Linux ausgeführt wird? Ich möchte einige Apps aus dem Start entfernen, damit sie supervisordbeispielsweise von Apache2 verwaltet werden können

Antwort1

Verwenden Sie je nach Distribution das Tool chkconfig oder update-rc.d, um Systemdienste zu aktivieren/deaktivieren.

Auf einem System im Redhat-/Suse-/Mandrake-Stil:

sudo chkconfig apache2 off 

Unter Debian:

sudo update-rc.d -f apache2 remove

Weitere Informationen finden Sie auf den Manpages.

Antwort2

Wenn Sie mit einem modernen Ubuntu-System und einigen anderen Distributionen arbeiten, müssen Sie möglicherweise mit einer Kombination aus herkömmlichen Init-Skripten und Upstart-Skripten arbeiten. Die Verwaltung von Init-Skripten wird in anderen Antworten behandelt. Im Folgenden finden Sie eine Möglichkeit, den Start eines Upstart-Dienstes beim Booten zu verhindern:

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

Das Problem bei dieser Methode besteht darin, dass Sie den Dienst nicht mit folgendem Befehl starten können:

# service start servicename

Alternativ können Sie die servicename.confDatei in Ihrem bevorzugten Editor öffnen und alle Zeilen auskommentieren, die mit folgendem beginnen:

start on

Das heißt, ändern Sie dies in

#start on ...

wobei „…“ das ist, was vorher nach „Start am“ stand. Auf diese Weise müssen Sie sich nicht merken, was die „Start am“-Parameter waren, wenn Sie es wieder aktivieren möchten.

Wenn Sie eine neue Version von Upstart haben, können Sie einfach das Wort „manual“ an das Ende der Konfigurationsdatei anhängen. Sie können dies direkt von der Shell aus tun:

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

Dies führt dazu, dass Upstart alle „Start on“-Phrasen weiter oben in der Datei ignoriert.

Antwort3

So listen Sie alle Startdienste auf

    systemctl

So verhindern Sie, dass ein Dienst beim Systemstart ausgeführt wird

    sudo systemctl disable servicename

Wenn wir zum Beispiel den SSH-Server beim Start stoppen müssen

    sudo systemctl disable sshd.service

Wir können dies wieder aktivieren mit

    sudo systemctl enable sshd.service

Fast alle Linux-Distributionen verwenden systemd zum Bootstrapping von Startdiensten. Die obigen Befehle funktionieren also bei den meisten Distributionen.

Antwort4

Unter Ubuntu 10.04 können Sie einige Startprogramme über die GUI steuern.

SystemPreferencesStartup Applications

Voreinstellungen für Startanwendungen

verwandte Informationen