Ve şimdi, sistem cevap veriyor.
Sorunuzdaki etikete göre, Red Hat Enterprise Linux kullanıyorsunuz. Sürüm 7'den beri, systemd kullandı. Diğer cevapların hiçbiri sistem dünyası için doğru değildir; hatta sorunuzdaki bazı varsayımlar bile yoktur.
- Çalışma seviyelerini unut ; Onlar var, ancak yalnızca uyumluluk azaldıkça. Sistem dokümantasyonu, kavramın "eski" olduğunu belirtir. Bu şeyleri bir sistem işletim sisteminde öğrenmeye başlıyorsanız, oradan başlamayın.
- Alıntılanan marcelm manuel sayfasını unut; Bu kesinlikle doğru araçlardan değil ve sistem araçlarına uygun olmayan başka bir araç komutunun açıklamasıdır. Bu bir tane var
haltvan Smoorenburg "Sistem 5" komutunu initkamu hizmetleri.
/sbin/haltSembolik bir bağlantı olan ifadeleri yoksay /sbin/reboot; bu systemd için doğru değil. Ayrı bir rebootprogram yok .
- Açıklamaların ardı olduğunu
haltveya rebootbir çağırmak shutdownkomut satırı argümanları ile programı; onlar da systemd için doğru değildir. Ayrı bir shutdownprogram yok .
Her sistem yönetimi araç takımı bu araçların kendi sürümüne sahiptir. systemd, starttart , nosh , van Smoorenburg initve BSD'nin inithepsinin kendine ait halt, poweroffvb. Her birinde onların mekaniği biraz farklı. Yani onların el ile sayfaları.
Systemd araç seti içinde halt, poweroff,reboot , telinit, ve shutdownvardır her sembolik bağlantılar için /bin/systemctl. Bunlar hepsi sadece systemd birincil komut satırı arayüzü çağırma için kestirme olan geriye dönük uyumluluk levhaları,: systemctl. (Ve aslında) aynı üzere hepsi harita tek bir program. (Kurallara göre, kabuk kendisine hangi adın çağrıldığını söyler.)
hedefler, çalışma seviyeleri değil
Bu komutların çoğu systemctl, belirli bir hedefi izole etmek için kullanarak , sisteme söylemekte kullanılan kısa yollardır . Yalıtım, kılavuz sayfasında (qv) açıklanmıştır, ancak bu cevabın amaçları doğrultusunda, bir hedef başlatmak ve diğerlerini durdurmak gibi düşünilebilir. Sistemd'de kullanılan standart hedefler (8) kılavuz sayfasında listelenmiştir .systemctlsystemd.special
bootupSystemd araç setindeki (7) kılavuz sayfasındaki şemalar, özellikle sonuncusu, burada ilgili olan üç "nihai" hedefin olduğunu göstermektedir:
halt.target- Sistem bu hedefi tamamen izole etme durumuna ulaştığında, reboot(RB_HALT_SYSTEM)sistem çağrısı olarak adlandırılır. Çekirdek, bir ROM izleme programına girme girişiminde bulunmuş veya CPU'yu durdurmuştur (bunun için uygun olan mekanizmaları kullanarak).
reboot.target- Sistem bu hedefi tamamen izole etme durumuna ulaştığında, reboot(RB_AUTOBOOT)sistem çağrısı (veya sihirli komut satırıyla eşdeğer) olarak adlandırılır. Çekirdek yeniden başlatmayı tetiklemeye çalışmış olacak.
poweroff.target- Sistem bu hedefi tamamen izole etme durumuna ulaştığında, reboot(RB_POWER_OFF)sistem çağrısı olarak adlandırılır. Eğer mümkünse, çekirdek sistemden gücü kesmeye çalışmış olacak.
Bunlar , son sistemin belirttiği gibi düşünmeniz gereken şeyler, çalışma seviyelerinin değil. Sistemin hedef sisteminin kendisinin kendisinin diğer sistemlerde açık ve net olmayan şeyleri kodladığı şemasına dikkat edin: Örneğin, bu son hedeflerin her birinin hedefi kapsadığı shutdown.target, böylece kapatılmadan önce durdurulması gereken hizmetleri tanımladığı gibi onları sahip çakışabilirshutdown.target hedefe.
systemctlsystemd-logindarayan kullanıcı süper kullanıcı olmadığında istek göndermeye çalışır . Ayrıca gecikmeli kapatmalar da üzerinden geçer systemd-shutdownd. Ve bazı kısa yol wallbildirimleri tetikler . Şu anda süper kullanıcı olduğunuzu ve programlanmış bir işlem istemediğinizi varsayarak, bu cevabı birkaç kez daha uzun yapan bu karmaşıklıklar:
systemctl isolate halt.target kısaltmaları var:
shutdown -H now
systemctl halt
- düz olmayan süslemeli
halt
systemctl isolate reboot.target kısaltmaları var:
shutdown -r now
telinit 6
systemctl reboot
- düz olmayan süslemeli
reboot
systemctl isolate poweroff.target kısaltmaları var:
shutdown -P now
telinit 0
shutdown now
systemctl poweroff
- düz olmayan süslemeli
poweroff
systemctl isolate rescue.target kısaltmaları var:
telinit 1
systemctl rescue
systemctl isolate multi-user.target kısaltmaları var:
telinit 2
telinit 3
telinit 4
systemctl isolate graphical.target Kısaca:
Çeşitli farklı komut satırı sözdizimlerini ayrıştırdıktan sonra, bunlar sonunda systemctlprogramın içindeki aynı kod yollarına girer .
Notlar:
- Daha az seçenek olan geleneksel davranış tek kullanıcılı moda
shutdown now geçmek olmuştur . Bu systemd ile durum böyle değil. - tek kullanıcılı modun sistemd'deki kurtarma modu yeniden adlandırılıyor - komutla erişilemiyor .rescue.targetshutdown
telinit Gerçekten yok tamamen olanların hepsi görmezden ve manuel sayfaları tanımlamak dosya sistemindeki sembolik bağlantıları. Yukarıda belirtilen eşlemeler bir tablodaki programa bağlanmıştır .runlevelN.targetdefault.targetsystemctl
- systemd'nin geçerli bir çalışma seviyesi hakkında hiçbir fikri yok . Bu komutların çalışması “eğer N çalışma seviyesindeyseniz” şartlı değildir .
--forceSeçeneği halt, rebootve poweroffkomutlar söyleyerek aynıdır --force --forceiçin systemctl halt, systemctl rebootve systemctl poweroffkomutlar. Bu doğrudan systemctlaramayı dener reboot(). Normalde sadece hedefleri izole etmeye çalışır.
telinitaynı değil init. Bunlar sistem dünyasında farklı programlardır, ikincisi systemdprogram için değil program için başka bir addır systemctl. systemdProgram zorunlu olarak hiç bir van Smoorenburg uyumluluğu derlenmiş ve bazı systemd işletim sistemlerinde yanlış çalışıyor bir girişimi çağrılmakta şikayet değildir .init N
daha fazla okuma