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
halt
van Smoorenburg "Sistem 5" komutunu init
kamu hizmetleri.
/sbin/halt
Sembolik bir bağlantı olan ifadeleri yoksay /sbin/reboot
; bu systemd için doğru değil. Ayrı bir reboot
program yok .
- Açıklamaların ardı olduğunu
halt
veya reboot
bir çağırmak shutdown
komut satırı argümanları ile programı; onlar da systemd için doğru değildir. Ayrı bir shutdown
program yok .
Her sistem yönetimi araç takımı bu araçların kendi sürümüne sahiptir. systemd, starttart , nosh , van Smoorenburg init
ve BSD'nin init
hepsinin kendine ait halt
, poweroff
vb. Her birinde onların mekaniği biraz farklı. Yani onların el ile sayfaları.
Systemd araç seti içinde halt
, poweroff
,reboot
, telinit
, ve shutdown
vardı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 .systemctl
systemd.special
bootup
Systemd 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.
systemctl
systemd-logind
arayan 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 wall
bildirimleri 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 systemctl
programı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.target
shutdown
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.target
default.target
systemctl
- 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 .
--force
Seçeneği halt
, reboot
ve poweroff
komutlar söyleyerek aynıdır --force --force
için systemctl halt
, systemctl reboot
ve systemctl poweroff
komutlar. Bu doğrudan systemctl
aramayı dener reboot()
. Normalde sadece hedefleri izole etmeye çalışır.
telinit
aynı değil init
. Bunlar sistem dünyasında farklı programlardır, ikincisi systemd
program için değil program için başka bir addır systemctl
. systemd
Program 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