Sistemi kapatmanın en hızlı yolu var mı?


20

Yoksa shutdown -h nowalabileceği en hızlı şey mi?

Kapatmadan önce yapılan birçok şeyi atlamaya izin verecek bazı sistem çağrılarını veya benzerlerini arıyorum (özellikle çalışan işlemlere dikkat etmek için).

En iyi initihtimalle -middleware ( systemdya da gibi upstart) için cahil olan çekirdek ile ilgili bir çözüm istiyorum .

Yani doğrudan bardak / apache / pulseaudio vb gibi tüm hizmetleri öldürme ile ilgili riskler ... umurumda değil ....

açıklama: çözüm yazılım yardımcısı olmalıdır. Cihazdaki düğmelere basmak aradığım şey değil.


8
"Yani doğrudan kupalar / apache / pulseaudio vb gibi tüm hizmetleri öldürme ile ilgili riskler ... umurumda değil ...." -> Emin misiniz? Karmaşık yazılımları tutarsız bir durumda bırakmak, bir sonraki kullanımında kötü sürprizlere yol açabilir. Belki fazla kullanmadığınız hizmetleri (örneğin bardaklar, apache) devre dışı bırakmayı düşünmelisiniz; kullanmak istediğinizde bunları manuel olarak başlatabilir ve durdurabilirsiniz.
goldilocks

Aradığım yöntem, insanların bilgisayarıma erişmesini önlemek istediğim an için. Kapanıştaki herhangi bir gecikme, yaramazlığa izin verir. Verileri kaybetmek yerine açıkta bırakıyorum.
humanityANDpeace

2
Ayrıca ziyaret bu
Pandya

8
Bir fikir var. Yine de bazı yeni donanımlar için tasarruf etmeye başlayın.
John WH Smith

sudo shutdown -P 0 Bunu kullanıyorum ve hangi uygulamalar açık olursa olsun kapatma işlemini hemen başlatır
gkmohit

Yanıtlar:


30

Sistem İsteği (SysRq) işlevini kullanmaktan ve ardından hemen tetiklemekten daha hızlı olamaz reboot.

Bu çekirdek tarafından anlaşılan önemli bir kombinasyon.

SysRq'yi etkinleştir:

echo 1 > /proc/sys/kernel/sysrq

Şimdi yeniden başlat.

echo b > /proc/sysrq-trigger

b - Dosya sistemlerini ayırmadan veya senkronize etmeden sistemi derhal yeniden başlatın.

Not:

Her ne kadar bu bir rebootgüç kesilmiş gibi davranacaktır, bu tavsiye edilmez.

İsterseniz syncve umountdosya sistemlerini önceden kullanmak istiyorsanız şunu kullanın:

echo s > /proc/sysrq-trigger
echo u > /proc/sysrq-trigger

veya sadece sistemi kapatmak istiyorsanız:

echo o > /proc/sysrq-trigger

Sihirli tuş kombinasyonları

Ayrıca, çekirdek tarafından yorumlanan anahtar kombinasyonlar vardır:

Alt+ SysRq / Print Screen+Command Key

Komut Tuşları:

R- Klavyenin kontrolünü X'ten geri alın.
E- SIGTERM'i tüm işlemlere gönderin ve zarif bir şekilde sonlanmalarını sağlayın.
I- SIGKILL'i tüm süreçlere gönderin, derhal sona erdirmeye zorlayın.
S- Verileri diske akıtın.
U- Tüm dosya sistemlerini salt okunur olarak yeniden monte edin.
B- Yeniden başlat.

Magic SysRq Key Wiki'den alıntı :

Sihirli SysRq anahtarının yaygın bir kullanımı, aksi takdirde kilitlenmiş bir Linux bilgisayarın güvenli bir şekilde yeniden başlatılmasıdır.

  1. AltVe SysRq(Ekranı Yazdır) tuşlarını basılı tutun .
  2. Bunları basılı tutarken, birkaç saniye arayla aşağıdaki tuşları sırayla yazın: REISUB .
  3. Bilgisayar yeniden başlatılmalıdır.

Bunları hatırlamanın bir yolu:

" R ' eboot e ven I f S istem u tterly B roken" ya da sadece kelime " yoğun " geriye doğru okuyun.

Referanslar

Sihirli SysRq Anahtar Wiki
Fedora SysRq


11
Temiz bir sistemin kapatılmasının 2 saniyeden daha az zaman alabileceğini unutmamak önemlidir. Ben çağırdığınızda poweroffbenim Arch makinede, ben bile kapatma günlüğünü göremiyorum ... ekrana yazdırılacak olan
John WH Smith

İkinci yankıdan önce, arabelleklerin süper bloklar da dahil olmak üzere diske yazıldığından emin olmak için sync( linux.about.com/library/cmd/blcmdl8_sync.htm ) çalıştırmak istersiniz.
Arcege

bvarlık yankılanmasını öneriyorsunuz o. B daha iyi mi?
insanlıkANDpeace

Ne demek istediğini daha iyi belirler. bSeçenek çok hızlı olsa da sync, ideal olmayan diskler değildir, kapanma süresini kısaltmanın yollarını sağlayan, bazıları diğerlerinden daha aşırı olan birçok seçenek vardır. Bir panicseçenek de var. İhtiyaçlarınızı en iyi karşılayan şeyi görmek için wiki'yi ve deneme yanılma sayfasını okuyun.
geedoubleya

Vidalı sistemimde echo o /proc/sysrq-triggerasmak yaratıyor. Sistem açık kalır. Aslında bsistem gitti. Yine de yeniden başlatılıyor, bu da RAM'in saklanabileceği anlamına geliyor, bu bda sistemin sonunda kapalı olmasını istediğiniz bir güvenlik açığı . Ne yazık ki bu obenim sistem seçeneği ile çalışmıyor . Size ve ayrıca @Pandya'ya öneri için teşekkürler
humanityANDpeace

8

Kötü yaklaşım shutdown -h -n now.

Bunun herhangi bir temizleme yapmayacağını unutmayın, bu nedenle dosya sistemleri tutarsız olabilir, veritabanları bozulabilir, ancak sistemi gerçekten hızlı bir şekilde kapatır.


1
teşekkür ederim, bu kulağa enteresan geliyor: bu -nseçenek belgeleniyor ve hala mevcut kapanma sürümünde mi?
insanlıkANDpeace

1
Evet, bu standart. Doğrudan çekirdeğe her şeyi bırakmasını söyler. Bu komut normalde, normal kapatma tamamlandığında son kapatma komut dosyasından kullanılır.
Simon Richter

7
Ancak, fişin çekilmesine büyük ölçüde eşdeğer olduğundan, bunun büyük olasılıkla kötü etkilere neden olacağını yeterince vurgulayamıyorum.
Simon Richter

Harika basit ve etkili. Bu -n seçeneği tam olarak aradığım şeydi. Sorulan soruyu cevapladığınız için ÇOK teşekkür ederim. Bir soru sormanın ve boyun kafalarının size sorunuzu cevaplamak yerine neden yanlış olduğunu anlatmanın ne kadar sinir bozucu olduğunu bilmiyorsunuz. Yapabilseydim bu cevabı elli kez tekrar ederdim. TEŞEKKÜR EDERİM.
Joshua Pech

4

Bazı dağıtımlar poweroff, daha basit bir komut sunar shutdown.

Şununla kullanma:

poweroff -f

bir disk senkronizasyonu gerçekleştirir ve ardından kapanır. Bu, dosya sistemlerinin bozulmamasını sağlamak için minimum kapatma işlemini gerçekleştirirken çok daha hızlı olma arasında iyi bir uzlaşmadır.


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.