Zatrzymaj program uruchamiany podczas uruchamiania w systemie Linux
29
Jak zatrzymać program uruchamiany podczas uruchamiania w systemie Linux. Chcę usunąć niektóre aplikacje ze startu, aby umożliwić zarządzanie nimi supervisordnp. Apache2
Dlaczego potrzebujesz -f (zakładam, że jest to siła) na dystrybucjach opartych na Debianie?
Frozenskys,
2
Odtwarzane są tutaj dwa zestawy plików. Rzeczywisty skrypt init znajduje się w /etc/init.d/, a linki do niego znajdują się w katalogu runlevel /etc/rcrunlevel.d/. Ci faceci wskazują na skrypt w /etc/init.d/ Jeśli nie użyjesz -f update-rd.d zawiedzie, JEŚLI skrypt w /etc/init.d/ jest już usunięty. Jeśli użyjesz opcji -f update-rc.d, poprawnie usunie pliki dowiązań, niezależnie od tego, czy skrypt /etc/init.d/ zostanie usunięty.
jacksonh,
Ach, to ma sens, zapomniałem, że skrypty poziomu pracy były tylko linkami do skryptów inicjujących. Dzięki za dodatkowe wyjaśnienia.
Frozenskys,
6
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:
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.confpliku 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.
Witamy w U&L i dziękuję za Twój wkład! Chciałbym zaznaczyć, że to pytanie ma teraz około ośmiu lat, więc przyjęta odpowiedź była jak na razie poprawna. Używanie systemctl może być teraz poprawne , ale poprawne jest dla innego pytania .
Jeff Schaller
@ Książę, dziękuję za szczegółowe wyjaśnienia. Pomogło mi to zrozumieć, jak działa rozruch w moim Xubuntu.
loved.by.Jesus
0
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.httpdwywoł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:
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.
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:
W systemie Debian:
Sprawdź ich strony podręcznika, aby uzyskać więcej informacji.
źródło
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:
Problem z tą metodą polega na tym, że nie pozwala ona na uruchomienie usługi przy użyciu:
Alternatywą jest otwarcie
servicename.conf
pliku w ulubionym edytorze i skomentowanie wszystkich wierszy rozpoczynających się od:To znaczy zmień to na
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:
Spowoduje to, że upstart zignoruje wszelkie frazy „start on” wcześniej w pliku.
źródło
W najnowszych systemach Fedora i Future RHEL
wyłączy usługę httpd
źródło
systmctl
polecenie działało dobrze.Aby wyświetlić listę wszystkich usług uruchamiania
Aby zatrzymać uruchamianie usługi podczas uruchamiania
Na przykład, jeśli musimy przestać uruchamiać serwer ssh podczas uruchamiania
Możemy to włączyć ponownie za pomocą
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.
źródło
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:
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:
Do tej linii:
Aby zatrzymać już działający apache, wykonaj go
/etc/rc.d/httpd stop
jako root.źródło
W systemie Ubuntu 10.04 można kontrolować niektóre programy startowe z GUI.
System→ Preferences→Startup Applications
źródło
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.
źródło