क्या शटडाउन कमांड को रोकना संभव है?


23

यह मानकर कि आपने अभी-अभी कमांड shutdown -h now(या कुछ समतुल्य) दर्ज किया है , क्या मशीन को बंद करने से रोकने के लिए वास्तविक रूप से कुछ भी आप कर सकते हैं (यदि आप बहुत जल्दी हैं)?


एक बार जब आप आह्वान करते हैं shutdown -h now, मेरा मानना ​​है कि आप कमांड लाइन का उपयोग तुरंत खो देते हैं, halt -pतो ऐसा बहुत कुछ नहीं है जो आप कर सकते हैं।
केन

@ केन: उबंटू और सेंटोस पर पोटीन के माध्यम से जुड़ी कमांड लाइन कुछ सेकंड के लिए उपलब्ध रहती है।

यदि आप "अभी" का अर्थ नहीं करते हैं तो "अब" क्यों कहें?
फ्रेड नर्क

जवाबों:


22

आप shutdown -cपहले से चल रहे शटडाउन को रद्द करने के लिए दौड़ सकते हैं ।


1
पहले तो यकीन नहीं हुआ, लेकिन हां। और अधिक विशेष रूप सेctrl+c
केन

2
@Ken: शटडाउन -c और [Ctrl] + [c] पूरी तरह से अलग हैं। शटडाउन -c एक कमांड है जो पहले से तय शटडाउन को रद्द करता है (यहां तक ​​कि "अब" इस अर्थ में निर्धारित है --- लेकिन क्या रद्द करने से रिबूट को रोका जा सकता है उस मामले में थोड़ी दौड़ है)। [Ctrl] + [c] जो भी प्रक्रिया वर्तमान में इससे जुड़ी थी, उसके लिए आप टर्मिनल को एक संकेत (व्यवधान संकेत) उत्पन्न करेंगे। यह एक चालू शटडाउन कमांड पर काम कर सकता है लेकिन यह आपके प्रश्न के लिए आकस्मिक है।
जिम डेनिस

1
@ जैम डेनिस: मैं ctrc+cऔर के बीच अंतर से अवगत हूं shutdown -c। लेकिन -now अपने निर्धारित भाई-बहन के बजाय विकल्प की गति को देखते हुए , ctrl+cउस छोर तक सबसे तेज़ रास्ता होगा। मुझे विश्वास नहीं था कि आप एक आसन्न शटडाउन को रोक सकते हैं, और भी अधिक आश्चर्य की बात है कि आप इसे बाधित कर सकते हैं, लेकिन जाहिर है आप कर सकते हैं, लेकिन यह एक दौड़ है जैसा आपने कहा था।
केन

13

यदि आप काफी तेज हैं, तो आप एक init 2(या जो भी रनवे चाहते हैं) जारी कर सकते हैं और वह संभवत: शटडाउन को रोक देगा। शटडाउन कमांड को मारने से संबंधित कुछ भी विफल हो जाएगा क्योंकि कमांड बहुत जल्दी चलता है

मैंने नीचे दी गई स्क्रिप्ट के साथ यह कोशिश की और यहां तक ​​कि शटडाउन को रोकने के लिए यह बहुत तेज़ नहीं है

#!/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

जहां अंतःक्रियात्मक रूप से

shutdown -h now
init 2 

सिस्टम ऊपर रहता है।


1

FreeBSD मैन पेज से:

एक अनुसूचित शटडाउन को शटडाउन प्रक्रिया को मारकर रद्द किया जा सकता है (एक SIGTERM को पर्याप्त होना चाहिए)।

इसलिए killall shutdownजब अनुसूचित शटडाउन (जैसे shudown -h +5) होता है तो बीएसडी पर काम करता है ।

मुझे नहीं लगता कि shutdown -h nowवास्तविक जीवन के परिदृश्य में तत्काल बंद ( ) को रद्द करना संभव है।


0

मान लीजिए, आपने रखरखाव उद्देश्य के लिए सभी टर्मिनल को रिबूट या शटडाउन संदेश भेजा है कि "सर्वर 10 मिनट के भीतर रखरखाव के उद्देश्य से रिबूट या शटडाउन करने जा रहा है"

इस तरह की कमांड रद्द कर सकते हैं।

बस Ctrl+ दबाएंC

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.