Jak zatrzymać program uruchamiany podczas uruchamiania w systemie Linux. Chcę usunąć niektóre aplikacje ze startu, aby umożliwić zarządzanie nimi supervisord
np. Apache2
Jak zatrzymać program uruchamiany podczas uruchamiania w systemie Linux. Chcę usunąć niektóre aplikacje ze startu, aby umożliwić zarządzanie nimi supervisord
np. Apache2
Odpowiedzi:
W zależności od dystrybucji użyj narzędzia chkconfig lub update-rc.d, aby włączyć / wyłączyć usługi systemowe.
W systemie w stylu redhat / suse / mandrake:
sudo chkconfig apache2 off
W systemie Debian:
sudo update-rc.d -f apache2 remove
Sprawdź ich strony podręcznika, aby uzyskać więcej informacji.
Jeśli masz do czynienia z nowoczesnym systemem Ubuntu i kilkoma innymi dystrybucjami, być może będziesz musiał poradzić sobie z kombinacją tradycyjnych skryptów init i skryptów upstart. Zarządzanie skryptami inicjującymi zawiera inne odpowiedzi. Oto jeden ze sposobów, aby zatrzymać usługę upstart przed uruchomieniem podczas rozruchu:
# mv /etc/init/servicename.conf /etc/init/servicename.conf.disabled
Problem z tą metodą polega na tym, że nie pozwala ona na uruchomienie usługi przy użyciu:
# service start servicename
Alternatywą jest otwarcie servicename.conf
pliku w ulubionym edytorze i skomentowanie wszystkich wierszy rozpoczynających się od:
start on
To znaczy zmień to na
#start on ...
gdzie „...” jest tym, co było po „wcześniejszym uruchomieniu”. W ten sposób, gdy chcesz go ponownie włączyć, nie musisz pamiętać, jakie były parametry „start on”.
Wreszcie, jeśli masz nową wersję upstart, możesz po prostu dodać słowo „manual” na końcu pliku konfiguracyjnego. Możesz to zrobić bezpośrednio z powłoki:
# echo "manual" >> /etc/init/servicename.conf
Spowoduje to, że upstart zignoruje wszelkie frazy „start on” wcześniej w pliku.
W najnowszych systemach Fedora i Future RHEL
systemctl disable httpd.service
wyłączy usługę httpd
systmctl
polecenie działało dobrze.
Aby wyświetlić listę wszystkich usług uruchamiania
systemctl
Aby zatrzymać uruchamianie usługi podczas uruchamiania
sudo systemctl disable servicename
Na przykład, jeśli musimy przestać uruchamiać serwer ssh podczas uruchamiania
sudo systemctl disable sshd.service
Możemy to włączyć ponownie za pomocą
sudo systemctl enable sshd.service
Prawie każda dystrybucja linuksowa używa systemd do uruchamiania usług startowych. Tak więc powyższe polecenia działają dla większości dystrybucji.
Slackware i Arch linux mają podobne metody zatrzymywania / uruchamiania procesów podczas rozruchu, inne niż podane powyżej przykłady w stylu Ubuntu i Redhat.
Zarówno w Linuksie Slackware, jak i Arch skrypty sh istnieją w katalogu /etc/rc.d
, zwykle jeden skrypt na demona lub jeden skrypt na podsystem.
Na przykład Slackware uruchamia serwer WWW Apache za pomocą skryptu /etc/rc.d/rc.httpd
wywoływanego w odpowiednim czasie podczas uruchamiania systemu z argumentem „start”. Arch Linux ma skrypty o różnych nazwach, ale dzieje się tak samo.
Aby powstrzymać jakiś proces przed uruchomieniem podczas uruchamiania systemu, na Slackware, po prostu sprawia, że odpowiedni skrypt w /etc/rc.d nie jest wykonywalny. Aby zatrzymać uruchamianie Apache przy następnym uruchomieniu:
chmod -x /etc/rc.d/rc.httpd
Aby zatrzymać Apache, który zaczął się przy starcie systemu: /etc/rc.d/rc.httpd stop
Musisz być rootem.
Łuk jest nieco bardziej złożony. Plik /etc/rc.conf, skrypt powłoki, ma tablicę DAEMONS. Aby powstrzymać Apache przed uruchomieniem, zmień ten wiersz w pliku /etc/rc.conf:
DAEMONS=(hal syslog-ng network netfs crond alsa sshd httpd ntpd postgresql)
Do tej linii:
DAEMONS=(hal syslog-ng network netfs crond alsa sshd ntpd postgresql)
Aby zatrzymać już działający apache, wykonaj go /etc/rc.d/httpd stop
jako root.
W systemie Ubuntu 10.04 można kontrolować niektóre programy startowe z GUI.
System→ Preferences→Startup Applications
1) dotknij klawisza superkey na klawiaturze 2) wyszukaj „Aplikacje startowe” 3) wybierz program, który chcesz wyłączyć 4) kliknij jak ta odpowiedź, jeśli worx.