Normalerweise verwende ich service start/stop
oder initctl start/stop
, um einen Dämonprozess zu starten oder zu stoppen, aber jetzt suche ich, um zu verhindern, dass ein Dämonprozess beim Start gestartet wird mysqld
.
Derzeit wird in umbenannt /etc/init/mysql.conf
, /etc/init/mysql.conf.bak
aber nachdem ich ein wenig darüber gelesen habe, wurde systemd
mir klar, dass dies eine enable & disable
Option für die obige Aufgabe darstellt.
Also, gibt es etwas ähnliches in Ubuntu 12.04 mit upstart
.
systemctl [enable|disable|is-enabled] mysqld.service
Antworten:
Sie können Dienste deaktivieren, indem Sie den folgenden Befehl ausführen:
Manpage- Auszug:
quelle
Die richtige Methode zum Deaktivieren und Starten des Dienstes ist das Erstellen einer XX.override-Datei.
echo 'manual' > /etc/init/mysqld.override
Auf diese Weise wird der Startdienst nicht automatisch gestartet
quelle
Ubuntu 12.04
?@RSK yes, why don't you just give it a try?
Ich nehme an, weil es sehr unpraktisch ist, das System mit "einem Versuch" zu jedem Hinweis von dieser Seite neu zu starten.@ warl0ck hat es richtig gemacht; Ich wollte hinzufügen, dass diese Informationen in der Upstart-Dokumentation ziemlich gut dokumentiert sind: http://upstart.ubuntu.com/cookbook/#disabling-a-job-from-automatically-starting
Speziell:
quelle
Es gibt auch eine nette Software, die dabei hilft. Es heißt rcconf.
Einfach herunterladen mit:
und benutze es mit dem Befehl
Sie erhalten eine schöne (Kommandozeilen-) Oberfläche zum Deaktivieren / Aktivieren von Diensten.
quelle
Navigieren Sie zu dem
/etc/rc2.d
, was Sie beim Start nicht ausführen möchten , und benennen Sie es um: Ändern Sie das (anfängliche, große) "S" in ein "K" (z . B.S02mysql
inK02mysql
). Wenn Sie es sich anders überlegen, kehren Sie es einfach um. Ich denke, die 2 bezieht sich auf Runlevel. In diesem Fall ist 2 das standardmäßige Mehrbenutzer-Runlevel. Wahrscheinlich haben Sie dort das meiste Zeug für den täglichen Computergebrauch.Bearbeiten : Lesen Sie den Kommentar von James O'Gorman unten.
quelle
who -r
oder überprüfenrunlevel
.who --runlevel
.init
beim Herunterfahren wird "KXXscript stop" ausgeführt. Sie sollten entweder den Symlink entfernen oder das Ausführungsbit aus dem eigentlichen Init-Skript entfernen. Ich glaube, dass Debian verwendetupdate-rc.d
, um dies zu verwalten. RHEL (und Derivate) verwendenchkconfig
.Bei Upstart liegt die Dienstkonfiguration in Dateien in
/etc/init/
. Zum Beispiel wird ssh über eine Konfigurationsdatei gesteuert/etc/init/ssh.conf
Diese Datei gibt die "Ereignisse" an, die Upstart auffordern, den "Job" zu starten.
Um zu verhindern, dass ein Dienst automatisch
gestartet wird , können Sie eine der folgenden Methoden verwenden: a) Benennen Sie die Datei service.conf so um, dass sie nicht mit .conf endet.
B) Kommentieren Sie die Zeile "start on" aus der Datei service.conf aus.
In neueren Versionen von upstart (mindestens seit Version 1.3) können Sie den Start auch online mithilfe einer service.override-Datei außer Kraft setzen, sodass Sie Folgendes verwenden können:
# echo manual > /etc/init/service.override
Zuletzt können Sie auch das Schlüsselwort "manual" am Ende der Konfigurationsdatei des Dienstes hinzufügen, z. B .:
# echo manual >> /etc/init/service.conf
Beachten Sie, dass dies den ausgeführten Dienst nicht "stoppt", sondern nur verhindert, dass er automatisch gestartet wird. Während der Einstellung für "manuellen" Start steuern Sie den Dienst mit initctl, um z. B. den SSH-Dämon zu stoppen und zu starten:
# initctl stop ssh
# initctl start ssh
Die wohl beste Dokumentation für Upstart ist bei http://upstart.ubuntu.com/cookbook/
Abschnitt 11.44 behandelt "Deaktivieren eines Dienstes für den automatischen Start", hier: http://upstart.ubuntu.com/cookbook/#disabling-a-job-from-automatically-starting
quelle
Nun, ich muss sagen, dass die Aussage
ist ein wenig irreführend, weil es bedeutet, die Überschreibungsdatei anzufügen. Ich habe dies am 14.04 mit dem Netzwerk-Manager getestet und folgendes hat nicht funktioniert
Dies funktionierte jedoch
Also, IMO, sucht das initctl nach der ersten unkommentierten Zeile und führt sie aus. Vielleicht irre ich mich, aber das waren meine Testergebnisse. Beiträge sind willkommen.
quelle