Linux'ta başlangıçta çalışan bir programı nasıl durdurabilirim. Bazı uygulamaları başlangıçtan kaldırmak istiyorum, supervisord
örneğin apache2 tarafından yönetilmelerini sağlamak için
Linux'ta başlangıçta çalışan bir programı nasıl durdurabilirim. Bazı uygulamaları başlangıçtan kaldırmak istiyorum, supervisord
örneğin apache2 tarafından yönetilmelerini sağlamak için
Yanıtlar:
Dağıtımınıza bağlı olarak, sistem hizmetlerini etkinleştirmek / devre dışı bırakmak için chkconfig veya update-rc.d aracını kullanın.
Bir redhat / suse / mandrake tarzı sistemde:
sudo chkconfig apache2 off
Debian'da:
sudo update-rc.d -f apache2 remove
Daha fazla bilgi için kendi man sayfalarına göz atın.
Modern bir Ubuntu sistemi ve birkaç başka dağıtımla uğraşıyorsanız, geleneksel init komut dosyalarının ve başlangıç komut dosyalarının bir kombinasyonuyla uğraşmak zorunda kalabilirsiniz. Init betiğini yönetmek diğer cevaplarla kaplıdır. Aşağıdakiler, bir başlatma servisinin önyüklemeye başlamasını durdurmanın bir yoludur:
# mv /etc/init/servicename.conf /etc/init/servicename.conf.disabled
Bu yöntemin sorunu, hizmeti kullanarak başlatmanıza izin vermemesidir:
# service start servicename
Buna bir alternatif de servicename.conf
dosyayı favori editörünüzde açmak ve onunla başlayan satırları yorumlamaktır:
start on
Yani, bunu değiştirin
#start on ...
burada "...", daha önce "başla" dan sonra olandı. Bu şekilde, tekrar etkinleştirmek istediğinizde, "başlangıç" parametrelerinin ne olduğunu hatırlamak zorunda kalmazsınız.
Son olarak, yeni bir başlangıç sürümüne sahipseniz, basitçe "manual" kelimesini yapılandırma dosyasının sonuna ekleyebilirsiniz. Bunu doğrudan kabuktan yapabilirsiniz:
# echo "manual" >> /etc/init/servicename.conf
Bu, start-up'ın dosyadaki önceki “start-on” cümlelerini görmezden gelmesine neden olacaktır.
Son Fedora ve Future RHEL sistemlerinde
systemctl disable httpd.service
httpd hizmetini devre dışı bırakacak
systmctl
komut iyi çalıştı.
Tüm başlangıç servislerini listelemek için
systemctl
Bir servisin başlangıçta çalışmasını durdurmak için
sudo systemctl disable servicename
Örneğin, ssh sunucusunu başlangıçta çalıştırmayı durdurmamız gerekirse
sudo systemctl disable sshd.service
Bunu kullanarak tekrar etkinleştirebiliriz.
sudo systemctl enable sshd.service
Hemen hemen her linux dağıtımı, başlangıç hizmetlerini önyükleme için systemd kullanır. Bu yüzden yukarıdaki komutlar dağıtımların çoğu için çalışır.
Slackware ve Arch linux, yukarıda verilen Ubuntu ve Redhat tarzı örneklerden farklı olarak açılışta benzer durdurma / başlatma işlemlerine sahiptir.
Hem Slackware hem de Arch linux'larında, dizinde sh, dizini /etc/rc.d
, tipik olarak her gün için bir komut dosyasını veya alt sistem başına bir diziyi bulunur .
Örneğin, Slackware Apache web sunucusunu /etc/rc.d/rc.httpd
, sistem başlatılırken uygun bir zamanda "start" argümanı ile adlandırılan bir betikle başlatır . Arch linux'un farklı isimli komut dosyaları vardır, ancak aynı şey devam eder.
Bazı işlemlerin sistem önyüklemesi sırasında başlamasını önlemek için, Slackware'de, uygun komut dosyasını /etc/rc.d dosyasında çalıştırılamaz duruma getirin. Apache'nin bir sonraki açılışta başlamasını önlemek için:
chmod -x /etc/rc.d/rc.httpd
Açılışta başlatılan bir Apache'yi durdurmak için: /etc/rc.d/rc.httpd stop
Kök olmanız gerekir.
Arch biraz daha karmaşık. Bir kabuk betiği /etc/rc.conf dosyası bir DAEMONS dizisine sahiptir. Apache'nin açılışta başlamasını önlemek için, bu satırı /etc/rc.conf dosyasında değiştirin:
DAEMONS=(hal syslog-ng network netfs crond alsa sshd httpd ntpd postgresql)
Bu çizgiye:
DAEMONS=(hal syslog-ng network netfs crond alsa sshd ntpd postgresql)
Zaten yürütülmekte olan bir apache'yi durdurmak için /etc/rc.d/httpd stop
root olarak çalıştırmalısınız .
Ubuntu 10.04'te bazı başlangıç programlarını GUI'den kontrol edebilirsiniz.
System→ Preferences→Startup Applications
1) klavyenizdeki superkey öğesine dokunun 2) 'Başlangıç Uygulamaları' için arama yapın 3) devre dışı bırakmak istediğiniz programı seçin 4) worx ise bu cevaba benzer şekilde vurun.