Yanıtlar:
Genellikle, biri shutdown
komutu kullanır . Çok kullanıcılı kabuk sunucuların sistem yönetimi için önemli olan kapatma veya yeniden başlatmadan önce bir zaman gecikmesi ve uyarı mesajı verir; kullanıcılara kesinti süresini önceden bildirir.
Bu nedenle, kapatma komutunun bilgisayarı hemen durdurmak / kapatmak için bu şekilde kullanılması gerekir (en azından Linux ve FreeBSD'de):
shutdown -h now
Veya özel, 30 dakikalık önceden uyarı ile yeniden başlatmak için:
shutdown -r +30 "Planned software upgrades"
Gecikmeden sonra, çalışma seviyesi 0 (durdurma) veya 6 (yeniden başlatma) olarak değiştirmeyi shutdown
söyler init
. ( Sistemin atlanması -h
ya -r
da sistemin tek işlem moduna geçmesine neden olacağına (çalışma seviyesi 1) neden olan, çoğu sistem işlemini öldüren ancak sistemi gerçekten durdurmadığını unutmayın;
Sistem süreçleri öldürüldükten ve dosya sistemleri bağlantısı kesildikten sonra, sistem durur / kapanır veya otomatik olarak yeniden başlatılır. Bu, disklerdeki değişiklikleri senkronize eden ve ardından gerçek durma / kapanma veya yeniden başlatma işlemlerini gerçekleştiren halt
veya reboot
komutu kullanılarak yapılır .
Linux'ta, sistem kapatma işlemini zaten başlatmadıysa halt
veya reboot
çalıştırılırsa, shutdown
doğrudan istenen işlemi gerçekleştirmek yerine komutu otomatik olarak çağırır . Bununla birlikte, FreeBSD gibi sistemlerde , bu komutlar önce eylemi kaydeder , wtmp
sonra da işlemleri durdurmadan veya dosya sistemlerini sökmeden hemen kendilerini durdurur / yeniden başlatırlar.
halt
, reboot
ve shutdown
birbirini çağırmak programları. Tek bir program var, dahili olarak bir kod yoluna giren çok sayıda komut satırı ayrıştırıcısı var. Koşma seviyeleri de yok. Kapatma da tek bir kullanıcı moduna girmez. Aslında, tek kullanıcı modunun adı değiştirildi. Ayrıntılar için, bkz. Unix.stackexchange.com/a/196014/5132 .
1980'lerde BSD vardı halt
, reboot
ve shutdown
. Sistem 5 UNIX'in BSD uyumluluk araç takımı vardı. Ancak doğal olarak kendine özgü, farklı bir shutdown
emri vardı; ve yoktu halt
ya da reboot
hiç. (Bazı Sistem 5 çeşitlerinde SCO XENIX'inki gibi özellikler vardı haltsys
.)
BSD halt
ve reboot
komutları düşük seviyeli, sert ve anındaydı. Düşünceli bir BSD sistemi kapatmaya yol oldu shutdown
: Biri gerçekleşmesini beklediğini şeylerin hepsini yaptım komut, wall
, servisler incelikle, yazılı günlük girişleri, öldürülen oturum açma vb devre dışı ve kullanıcılara mesajlar.
Alınan bilgelik kaynaklandığı yer BSD ölçüde iken o " shutdown
yöneticilerin halt
/ reboot
" ve ikincisi dikkatle kullanılması olduğunu; insanlar aksine alışkanlığı öğrenildi nerede Sistem 5 dünyaydı halt
/ reboot
: sadece kullanışlı kestirme ve başka bir şey vardı /usr/ucb/halt
, "BSD Uyumluluk Paketi" dan, etkisi de farklı değildi shutdown -h
. İkisi de yaptı init 0
.
halt
. 1982/05/11. 4.2BSD kılavuzu.haltsys
. 2005-06-03. SCO OpenServer kılavuzu.Günümüzde, bir dizi olası sistem yönetimi araç setine sahibiz. BSD'ler, 1990'lardaki olası AT&M mekanizmalarından arındırılmış olmalarına rağmen hala araçlarına sahipler. 1992’deki Miquel van Smoorenburg (yeniden) bir Linux init
+ yazdı rc
ve bunlara bağlı olarak, insanlar şu anda UNIX Sistem 5’in yazılımı olmasa da “Sistem 5 init” olarak bahsettiler. init
). Ayrıca vardır systemd , sonradan görme ve nosh sahip, her biri, kendi uygulamalarını ait halt
, reboot
, fasthalt
, fastboot
ve benzeri.
Alet takımları da büyüdü ve değişti. Artık poweroff
1980'lerde işletim sistemlerinde mevcut olmayan bir komut var çünkü çoğu çağdaş makinedeki Merkezi İşleme Üniteleri güç kaynaklarını kontrol etmenin bir yolu yoktu. Özellikle Linux araç takımları BSD komutlarını aldı; ancak UNIX Sistem 5'teki BSD uyumluluk araçları gibi, bunlar tam bir işçilik değildir ve işler büyük ölçüde düzleştirilmiştir.
Bu düzleşme bir noktaya bizi getirdi halt
ve shutdown
vardır çoğunlukla aynı. Ancak kesin detaylar araç setinden araç setine kadar değişiklik gösterir ve her araç setinin mekaniği biraz farklıdır.
Ayrıca bu komut seti yüzden şimdi insanlar bilgisayarları gibi kendinden çelişkili talimatlar vermek sağlayan uyumluluk seçenekleri ile festooned hale geldi biraz utanç verici konuma bizi getirdi reboot --halt
ve poweroff --reboot
ben nosh kılavuz sayfasına belirtildiği gibi, halt
, fasthalt
, reboot
, fastboot
, ve poweroff
komutlar. ☺
halt
, reboot
, poweroff
, telinit
, Ve shutdown
vardır her biri bir program . Aslında sistemin kendi systemctl
programı. Bu komutların çeşitli komut satırı sözdizimleri için birkaç komut satırı ayrıştırıcısına sahiptir, hem kendi komutunu, hem de bundan sonra büyük ölçüde dahili olarak bir kod yoluna huniyi içine alır. halt
Bir eylemi tetiklemek için kullanımıyla shutdown
komut seçenekleri arasında, aynı işlemi tetiklemek için kullanımıyla komut seçenekleri arasında fark yoktur .
systemd, kurtarma modunu (sistemd kullanıcılarının tek kullanıcı modunu yeniden adlandırdığı şey ) kapatma sistemi durumu olarak düşünmez ve bu komutların hiçbirine erişilemez. Seçenek az shutdown now
, aynıdır poweroff
.
BSD'ler 1980'lerin anlambilimlerini büyük ölçüde koruyor. halt
ve shutdown
dolayısıyla , araç setlerinde pek eşdeğer değildir . halt
ve reboot
tek bir program; ve hala düşük seviye, acil ve sert. Oysa shutdown
ve poweroff
aynı zamanda tek bir program, zamanlanmış kapanma, wall
mesaj yazma , günlük kaydı eylemleri, oturum açma işlevini devre dışı bırakma vb. Gibi tüm düşünceli şeyleri yapar .
BSD araç setlerinde, shutdown
/ poweroff
geleneksel olarak son sistem durum değişikliğini devreye sokmak halt
/ reboot
başlatmak için sona erdi . (Günümüzde çoğu zaman yanlış olan) , aslında " uygulayan / " shutdown
bilgisinin hala NetBSD ve OpenBSD ile ilgili olduğu bilgisini aldı. Ancak FreeBSD / TrueOS / DragonFlyBSD'de, seçenek kullanıldığında sadece durum böyledir . Bu BSD günü, hem bu programların normalde çeşitli sinyaller (göndererek nihai sistem durumları değişir yürürlüğe , ve ) işlemek için # 1. does tüm bu sistemlerde sistem devlet yönetimini.halt
reboot
-o
INT
USR1
USR2
init
Hepsinin üzerinde, seçenek daha az shutdown now
birine denk olmayan halt
, reboot
ya da poweroff
. BSD için geçişler tek kullanıcılı modda bir geçiş için olan, geri için çoklu kullanıcı modu .
shutdown
. Sistem Yöneticisinin El Kitabı . NetBSD Manuel sayfalar. 2011-11-04.reboot
,halt
. OpenBSD Manuel sayfalar. 2016/09/03.shutdown
. FreeBSD Manuel sayfalar. 2016/09/21.reboot
, halt
, fastboot
,fasthalt
. FreeBSD Manuel sayfalar. 2017/03/19.shutdown
. Sistem Yöneticisinin El Kitabı . DragonFlyBSD Manuel sayfalar. 2016/09/29.reboot
, halt
, fastboot
,fasthalt
. Sistem Yöneticisinin El Kitabı . DragonFlyBSD Manuel sayfalar. 2016/09/29.Nosh sistem yönetimi araç seti olarak, halt
, fasthalt
, poweroff
, fastpoweroff
, reboot
, ve fastboot
hepsi tek bir programı vardır. Bu geriye doğru uyumluluk takoz normal sadece zincirleri var shutdown
, ters alınan bilgelik. --force
Seçeneği için bu zincir yapar system-control
yerine.
Yani hiçbir fark (devamsızlık var --force
arasında) halt
komuta ve shutdown
"BSD / Sistem 5 uyumluluğu" komutları bu set olarak, bu araç grubu içinde (eşdeğer seçeneğiyle) komuta üstünden sadece ince bir dolgu tabakasıdır shutdown
.
shutdown
. araç seti manuel sayfaları nosh. Yazılımları.telinit, init, reboot, halt, haltsys, powercycle, poweroff, … fastboot, fasthalt, fastpowercycle, fastpoweroff, …
araç seti manuel sayfaları nosh. Yazılımları.Nosh gibi, başlangıç sistem yönetim araç setinde alınan BSD bilgeliğinin tam tersi geçerlidir. halt
, reboot
ve poweroff
hepsi normal olarak zincirleyen bir programdır shutdown
; --force
seçenek kullanılmadığı sürece, reboot()
sistemin kendisini çağırmasını sağlar.
Yani, yine, hiçbir fark (devamsızlık var --force
arasında) halt
komutu ve ve shutdown
bu araç grubu içinde (eşdeğer seçeneğiyle) komutu. Ayrıca yine seçenek daha az shutdown now
(hangi hiçbiri halt
, reboot
ya poweroff
içine sistemini getiren tüm set seçenekleri de onlar kadar çağırma sona erebilir) tek kullanıcı modu yerine kapatılması.
shutdown
(8) . Ubuntu manuel sayfaları.reboot
(8), halt
(8), poweroff
(8) . Ubuntu manuel sayfaları.init
+ rc
araç takımıYine, bu araç setinde, alınan BSD bilgeliğinin zıttı geçerlidir ve halt
ve reboot
basitçe shutdown
- - eğer sistem zaten güç altında değilse veya "çalışma-seviyelerinde durmadığı sürece, bu durumda bu komutlar gerçekte son sistem durum değişikliğini kabul eder. shutdown
sırayla zincirleri init
.
Bu yüzden, yine, sistem zaten büyük ölçüde kapatılmadıkça) arasında bir fark yoktur halt
, shutdown
çünkü eski sadece ikincisini çağırır. Ve evet, yine, seçenek daha az shutdown now
(hangi hiçbiri halt
, reboot
ya poweroff
içine sistemini getiren tüm set seçenekleri de onlar kadar çağırma sona erebilir) tek kullanıcı modu yerine kapatılması.
Bunun, hangi UNIX / Linux sürümünü kullandığınıza bağlı olduğunu düşünüyorum. Centos'ta (ve diğer modern Linux'ları beklerim) çağrıları kapatma işlemini durdurur ( çalışma seviyesi 0 veya 6'da olmamanızı sağlar ) böylece sisteminiz temiz bir şekilde kapanır. Solaris 10'da durma daha acımasızdır, sadece disk önbelleklerini temizler ve sistemi kapatır - herhangi bir komut dosyasını çalıştırmaya veya smf olanaklarını kapatmaya çalışılmaz .
AWS EC2 kullananlar için: AWS açıkta , sonlandırıldığında bir örneği shutdown
durdurur .halt
Linux'ta, "dur" ve "yeniden başlat", kapatma komutunun diğer adıdır - shutdown -h
ve shutdown -r
sırasıyla. Bareword kapanması genellikle -h olarak kabul edilir.
aliases
kabuk takma adları anlamında değillerdir , ama evet, halt
temelde sadece çağırır shutdown -h
ve reboot
çalışır shutdown -r
. Geçtiğiniz takdirde unutmayın -f
için (kuvvet) seçeneği halt
ya reboot
, shutdown
olan değil denir.
sendmail
bu noktada komut - MTA'larla gibi, hepsi hem tanıyacaktır çünkü Kullandığınız init sistemi meselesi aslında yapmaz shutdown
ve halt
gibi.
sendmail
emir için de geçerlidir. Bu sendmail
emir gibi , ama senin düşündüğün şekilde değil.