Bir kapatma komutunu durdurmak mümkün mü?


23

Komuta shutdown -h now(veya eşdeğer bir şeye) yeni girdiğinizi varsayarak , makinenin kapanmasını önlemek için yapabileceğiniz herhangi bir şey var (yeterince hızlıysanız)?


Bir kere çağırdığınızda shutdown -h now, komut satırı erişimini hemen kaybettiğinize inanıyorum, halt -pböylece yapabileceğiniz fazla bir şey yok.
Ken

@Ken: Macun üzerinden bağlanan Ubuntu ve Centos'ta komut satırı birkaç saniye kullanılabilir durumda kalır.

"Şimdi" demek istemiyorsan neden "Şimdi" dedin?
Fred Nurk

Yanıtlar:


22

shutdown -cÇalışmakta olan bir kapanmayı iptal etmek için koşabilirsiniz .


1
İlk başta inanmadım ama evet. Daha spesifik olarakctrl+c
Ken

2
@Ken: shutdown -c ve [Ctrl] + [c] tamamen farklı. shutdown -c, önceden planlanmış bir kapanmayı iptal eden bir komuttur ("şimdi bile" bu anlamda programlanmıştır --- ancak iptalin yeniden başlatmanın engellenip engellenmeyeceği bu durumda biraz yarışır). [Ctrl] + [c], terminalin o anda kendisine bağlı olduğu işlem için bir SIGINT (kesme sinyali) üretmesine neden olacaktır. Bu, çalışan bir kapatma komutunda işe yarayabilir, ancak sorunuza rastlantısaldır.
Jim Dennis

1
@Jim Dennis: ctrc+cve arasındaki farkın farkındayım shutdown -c. Ancak -now , planlanan kardeşi yerine seçeneğin hızı göz önüne alındığında, ctrl+cbu amaç için en hızlı yol olacaktır. İçgüdüsel bir kapanmayı durdurabileceğinizi düşünmemiştim, hatta böldüğünüze daha da şaşırdım, ama görünüşe göre bunu yapabilirsiniz ama bu sizin belirttiğiniz bir yarış.
Ken

13

Yeterince hızlıysanız bir init 2(veya istediğiniz herhangi bir çalışma seviyesini) yayınlayabilirsiniz ve bu muhtemelen kapanmayı durduracaktır. Kapatma komutunu öldürmeyi içeren herhangi bir şey, komut çok hızlı çalıştığından başarısız olur

Bunu aşağıdaki komut dosyasıyla denedim ve hatta kapatmayı durduracak kadar hızlı değil

#!/bin/bash
shutdown -h now
shutdown -c "Aborting Shutdown"

Broadcast message from iain@iain-ubuntu
        (/dev/pts/0) at 16:50 ...

The system is going down for halt NOW!
shutdown: Cannot find pid of running shutdown

Etkileşimli olarak nerede

shutdown -h now
init 2 

sistem kalkıyor.


1

FreeBSD man sayfasından:

Zamanlanmış bir kapatma , kapatma işlemini öldürerek iptal edilebilir (bir SIGTERM yeterlidir).

Böylece killall shutdown, zamanlanmış bir kapatma olduğunda (örn. shudown -h +5) BSD üzerinde çalışır .

shutdown -h nowGerçek hayat senaryosunda hemen ( ) hemen iptal etmenin mümkün olduğunu sanmıyorum .


0

farz edelim ki "terminal 10 dakika içinde bakım amacıyla yeniden başlatılacak veya kapanacak" bakım amacıyla tüm terminallere bir yeniden başlatma veya kapatma mesajı gönderdiniz

Bu tür bir komut iptal edebilir.

sadece Ctrl+C

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.