Şimdi yeniden başlatma, başlatma 6 ve kapatma -r arasındaki fark nedir?


Yanıtlar:


83

Aralarında hiçbir fark yoktur. Dahili olarak aynı şeyi yaparlar:

  • rebootshutdownkomutu kullanır (-r anahtarıyla). Tüm çalışan işlemleri sonlandırmak, tüm dosya sistemlerini kaldırmak ve sonunda çekirdeğe ACPI güç komutu vermesini bildirmek için kullanılan kapatma komutu. Kaynak burada bulunabilir . Eski dağıtımlar ise yeniden başlatma komutu yayınlayarak çıkmak için süreçleri zorluyordu SIGKILLsinyali (hala kaynaklarda bulunan, ile çağrılabilir -fdaha zarif en son dağıtımlar varsayılan olarak içinde, opsiyon) ve dost init init 1 -> shutdown -r. Bu dalemonların kapanmadan önce kendilerini temizlemelerini sağlar.

  • init 6initSürece , başlatılan tüm işlemlerin / istemcilerin init dosyalarında (başlattıkları ters sırada) yazıldığı gibi kapatılmasını ve son olarak shutdown -r nowda makinenin yeniden başlatılması komutunu çağırmasını söyler.

Bugün, her iki komut da aynı şekilde hareket ettiği için pek bir fark yoktur ve onlar, kapatma komut dosyalarını çağırarak hizmetleri / günlükleri başlatmak için kullanılan başlangıç ​​komut dosyalarına saygı gösterir. reboot -f -r nowAşağıda belirtilenler hariç

Neden reboot -fgüvenli olmadığına dair man sayfalarından küçük bir açıklama yapılmıştır :

  -f, --force
    Hemen durmaya zorla, kapat, yeniden başlat. Init sistemiyle temas kurmayın.

Düzenle:

Unutmayalım ki, yaklaşan RHEL dağıtımlarında systemctlpoweroff / reboot komutunu vermek için yeni komutu kullanmalısınız . Sayfalarda belirtildiği gibi rebootve shutdownbunlar "sadece uyumluluk için mevcut olan eski bir komut". ve systemctlyöntem tek güvenli olacaktır.


Bazen yeniden başlatmam SIGTERM'de takılıyor, nedenini bilmenin bir yolu var ve ayrıca yeniden başlatmayı zaman aşımına uğratmanın bir yolu var, öyle ki çok uzun sürerse yeniden başlatmaya zorlar mı?
CMCDragonkai

2
Bu RHEL versiyonları artık "yaklaşmıyor". ☺ unix.stackexchange.com/a/196014/5132 adresinde daha ayrıntılı olarak açıklandığı gibi, bu tür sistem işletim sistemlerinde hiçbir fark yoktur. Farklı programlar bile değiller.
JdeBP

Yazarak yazdın init 1 -> shutdown -rmı?
sened02392

Bağlantınız koptu.
Şubat’ta

8

Kapatma tercih edilir çünkü şiddetli eylemin nedenini belirtmenize izin verir - her zaman yapmanız gereken bir şey. Mesaj, gelecek nesillerin kayıtlarına kaydedilecektir. Örneğin:

shutdown -r now 'Kernel upgrade requires reboot'

Zamanlanmış bir yeniden başlatma da gerçekleştirebilirsiniz - nowyeniden başlatma zamanı dışında bir şey belirterek :

shutdown -r 22:00 'Work around kernel memory leak'

Sonra kullanıcılarınız zaman yaklaşırken çıkması için periyodik hatırlatıcılar alacak - süreç daha düzenli ve profesyonel olacak.


5

Geleneksel birliklerde rebootve shutdown -r nowçok farklı komutlar vardır. Tipik kullanım altında reboot, sadece tek kullanıcı modunda kullanmak güvenlidir.

shutdown -r nowfarklı * nix'ler arasında kapanmanın kurallı yöntemidir ve genel olarak kullanımı daha güvenli ve işlevsel olarak eşdeğerdir init 6.

init (8) yeniden başlat (8)


4

FreeBSD'de rebootve arasında bir fark vardır shutdown -r now. Gönderen rebootadam sayfası:

Normalde, kapatma (8) yardımcı programı, sistemin durdurulması veya yeniden başlatılması gerektiğinde kullanılır; bu, kullanıcılara yaklaşmakta olan doomlar hakkında önceden uyarı verir ve belirli programları temiz bir şekilde sonlandırır.


1
Bu, bir BSD sorusu değildir, ancak sorudaki etiket ve komutlardan birinde System 5 çalışma seviyesinin kullanılması. ☺
JdeBP

1
Bunun bir Linux sorusu olduğunu biliyorum. Birisinin, diğer bazı sistemlerde bunun bir fark olduğunu bilmek faydalı olabileceğini düşündüm.
Marián Černý
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.