Neden "shutdown -r now" Debian Linux'ta "reboot -f" den farklı davranıyor?


11

Son zamanlarda sinir bozucu, aralıklı bir NFS istemci / sunucu asılı bağlama noktası sorunu ile uğraşmak zorunda kaldım. Sorun istemcide ortaya çıktığında, bazı garip davranış ile birlikte bağlantısını kesemiyorum. Bugüne kadar sahip olduğum tek çözüm istemci kutusunu yeniden başlatmak.

Ama shutdown -r nowhiç çalışmıyor. O zamandan beri keşfettim reboot -fki, gelmez sistemi yeniden. Neden? Adamın sayfalarını okudum ama soruma cevap verecek bir şey yok.

Neden shutdown -r nowfarklı davranıyor reboot -f?

(NFS sorununu çözmeye devam ediyorum, ancak bu benim sorum değil.)

Yanıtlar:


20

Kapatma kılavuzu sayfasından:

TIME geçtikten sonra, kapatma init (8) artalan sürecine sistemi uygun çalışma seviyesine getirmek için bir istek gönderir.

initsistem çalışma seviyelerini değiştirdikçe işleri başlatır ve durdurur. Yeniden başlatma nedeniyle çalışma düzeyi 6'ya girildiğinde, sistem /etc/rc6.d içindeki tüm komut dosyalarını çalıştırır. Sisteminiz yanıt vermediğinden shutdown, muhtemelen bir komut dizisinin /etc/rc6.d(muhtemelen K05nfs-commonNFS sorunlarınız göz önüne alındığında) sıkışıp kapanma sırasının bitmesine izin vermiyor. Aslında, son şey init 6 seviyesine geçerken çalışır reboot -d -f -i.

reboot -f tüm komut dosyalarını atlar ve sistemi doğrudan yeniden başlatır.


Cevabınızı bağlamıma bağladığınız için çok teşekkür ederim.
Stu Thompson

12

shutdowntalimatını initsistemi, kapatma sürücüler, incelikle bütün süreçleri öldürerek unmounting ve senkronize, vb biliyoruz kullanıcılar giriş icar içerir kapatma prosedürünü başlatmak için. Burada asılı kalıyorsunuz çünkü IO'yu beklerken sıkışan süreçleri öldürmek çok zor oluyor ve sıkışmış NFS bağlantınız sökülemiyor.

reboot -f, diğer taraftan, herhangi bir şey yapmadan hemen sunucuyu yeniden başlatır. ( rebootprogram initsunucuyu kapatmaya çağırır. -fBayrak olmadan , o initanda yeniden başlatıldığını düşünüp düşünmediğini kontrol eder ve eğer değilse, shutdownişlemi başlatmak için çağırır ).


Cevabınızı bağlamıma bağladığınız için çok teşekkür ederim.
Stu Thompson

4

'Reboot -f' çalışma seviyesi 0'a girmediğinden - işletim sistemine doğrudan CPU'yu yeniden başlatmasını söyler. En yakın Linux kutumdaki man sayfası şöyle diyor:

 -f     Force halt or reboot, don't call shutdown(8)

Kapatma kılavuzu sayfası daha fazlasını açıklar.


1

Bu intrseçeneği NFS bağlantılarınızda kullanırsanız, NFS G / Ç'de shutdown -r nowbekleyen işlemleri tamamlayabilmeniz gerekir. Bu, dosya bozulmasına neden olabilir, ancak büyük olasılıkla oluşturma işleminden daha fazlası olmaz shutdown -f.

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.