Neden farklı ikili dosyalarda yeniden başlatma işlevine ihtiyacımız var?


12

Neden farklı ikili dosyalarda yeniden başlatma işlevine ihtiyacımız var?

shutdown -r

ve

reboot

Yoksa bir şeyde farklı mıdırlar?


1
Ayrım için unix.stackexchange.com/questions/8690/… adresine bakın - komutlar işletim sistemine bağlı olarak farklı davranabilir (ancak genellikle Linux'ta aynı şeyi yapar).
2'de 32

Aşağıda belirtildiği ve unix.stackexchange.com/a/196014/5132 adresinde ayrıntılı olarak açıklandığı gibi , bu sorunun önceliği systemd Linux işletim sistemlerinde yanlıştır. Bunlar, bu tür sistemlerde farklı ikili dosyalar değildir .
JdeBP

Yanıtlar:


15

Her ikisine de ihtiyacımız yok, ancak Unix'in tarihi ve çok sayıda sürümü nedeniyle ikisine de sahibiz.

İlgili man sayfalarından:

  • Kapatma yardımcı programı 4.0BSD'de göründü.
  • AT&T UNIX Sürüm 6'da bir yeniden başlatma yardımcı programı belirdi.

kapatma daha genel amaçlı ve daha güçlüdür, yeniden başlatma daha dostça ve hatırlaması daha kolaydır.

shutdown, geçici bir bağımsız değişken belirtmenize (örneğin 5 dakika içinde yeniden başlatmak için) ve yeniden başlatmanın yanı sıra aşağıdakiler de dahil olmak üzere birçok şey yapmanıza olanak tanır:

  • sadece kullanıcıları başlatabilir ve aslında kapatamazsınız
  • sistemi kapatmak yerine uyku moduna geçirebilirsiniz
  • sadece yeniden başlatmadan kapatabilirsiniz (durma komutu gibi)
  • sistemdeki kullanıcılar için özel bir uyarı mesajı ekleyebilirsiniz

Biraz önce sistemi yeniden başlatmak istiyorsanız Ancak, yazmak daha kolay olur rebootdaha shutdown -r now.


1
Eğlenceli gerçek: Bazı shutdownkullanım sürümleri artık varsayılan olarak. Kapanma için yardım almaya çalışmayın shutdown -h, özellikle bir veri merkezindeki bir yerde değil.
Residuum

6

İki komut farklı bir şey yapar, ancak birbirlerini arayabilirler, bu yüzden aynı şeyi yapıyorlar gibi görünüyorlar !

rebootçekirdeği bir donanımın yeniden başlatılmasını tetiklemesi için harekete geçirir. Ancak, bunu yalnızca sistem kapanmaya hazır olduğunda yapar - tüm artalan süreçleri ve kullanıcı süreçleri durdurulmalı, dosya sistemleri sökülmelidir, vb. Böylece sistem çalışma seviyesini kontrol eder ve 0 veya 6 değilse, o zaman gerçekten çağırır. shutdownsizin için komut.

shutdownsistemin çalışma seviyesinin değiştirilmesine neden olur. (Reboot durma veya 6 kişilik 0'a) çalışma seviyesi değişikliği /etc/rc0.d içinde komut sürü veya rc6.d çalıştığını Nihayet vb kapatma aşağı cinleri, bağlantısını kesme dosya sistemleri bu çağırmak komut dosyaları haltveya reboot- Sistem içinde bu kez doğru çalışma seviyesi ile çekirdeğe yeniden başlamasını (veya durmasını) söylerler.


6

: İconoclast yazdıklarını ek olarak, iki program arasında önemli bir fark var shutdownolduğu /sbinsüre rebootiçindedir /usr/bin.

Bu neden önemli, soruyorsun? Sana söyleyeceğim.

Altında /usrolanlar, sistem minimum düzeyde işlevsel olacak kadar önyükleninceye kadar kullanılabilir olması gerekmeyenlerdir. Geleneksel olarak ayrı dosya sistemleri üzerine monte asla Üst düzey dizinleri - /bin, /etc, /sbinvb - Sistem bu minimal kullanışlı duruma ulaşmanın iken kullanılabilir olması bekleniyor. Bu tasarımın çeşitli sonuçları vardır; Örneğin, veya /usr/biniçinde alternatif varsa programları kullanan bir SysV init betiğinin "stop" yan tümcesini yazmak kötü bir stildir ./bin/sbin

shutdownanahtar yardımcı programdır, her zaman kullanılabilir olanıdır. rebootyalnızca kolaylık sağlayan bir yardımcı programdır.


1
rebootolduğu /sbin(sysvinit ile) Debian ve (sonradan görme ile) Ubuntu'da.
Gilles 'SO- kötü olmayı bırak'

Pekala, meta-cevap: sisteminizi tanıyın. :) CentOS'u en sık kullanıyorum.
Warren Young

Arch (systemd) için aynı, her ikisi de / sbin
daisy

Gerçekten de, systemd Linux işletim sistemleri de systemd ile olduğu gibi, önemli bir araçtır , tüm bu komutlarıdır (systemd doco o olduğu gibi) "uyumluluk" komutları. Gerçekten de, sorunun öncülü yanlıştır. Onlar değil farklı çiftlerde. Ayrıntılar için bkz. Unix.stackexchange.com/a/196014/5132 .
JdeBP
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.