यदि mv
इसे शुरू किया गया था:
ssh host mv x y
तब mv
एक SIGPIPE (और मर जाएगा) प्राप्त होगा अगर यह stdout या stderr (एक त्रुटि की तरह) के लिए कुछ भी लिखने की कोशिश करता है।
यदि आपने एक इंटरैक्टिव सत्र शुरू किया है जैसे:
ssh host
और mv
इसमें इंटरेक्टिव शेल से शुरू हुआ , जब छद्म टर्मिनल के मास्टर साइड को sshd
बंद करना शुरू हो जाएगा ( ssh
बाहर निकलने पर टीसीपी कनेक्शन बंद करने पर), सत्र का नेता छद्म टर्मिनल के दास पक्ष के साथ जुड़ा हुआ है, रिमोट इंटरेक्टिव शेल है, जो SIGHUP सिग्नल प्राप्त करेगा (हैंग अप)।
उस सिग्नल को प्राप्त करने पर, गोले (जब तक कि आपने जारी नहीं किया है trap '' HUP
) आम तौर पर उन नौकरियों में सभी प्रक्रियाओं को संकेत देते हैं जो उन्होंने शुरू किए हैं, जब तक कि आपने स्पष्ट रूप से यह नहीं बताया है (जैसे कि कुछ गोले में disown
या उसके साथ &|
)।
अन्य प्रक्रियाओं (जैसे mv
) आम तौर पर जब कि संकेत प्राप्त जब तक वे (का उपयोग करके इसे नजरअंदाज करने के लिए कहा गया है मर जाएगा nohup
या अगर उनके माता पिता इसे नजरअंदाज)।
यदि आपने जारी किया है:
trap '' HUP
इसके बाद शुरू की गई सभी नौकरियां इसे विरासत में मिलेंगी और SIGHUP की अनदेखी करेंगी।
खोल डिस्कनेक्ट पर भेजे गए SITEUP सिग्नल से नहीं मरेगा, लेकिन अगले प्रांप्ट पर बाहर निकल जाएगा, क्योंकि इसकी स्टड चला गया है। बाहर निकलने पर, कुछ गोले उनके (गैर-विस्थापित) नौकरियों के लिए SITEUP भेजते हैं। trap '' HUP
वसीयत के बाद शुरू होने वाले लोग इसे अनदेखा करेंगे, बाकी लोग मर जाएंगे।
संक्षेप में, उस मामले में, जब तक कि आपने पूर्व सावधानी नहीं बरती है ताकि ऐसा न हो, आपकी mv
मृत्यु हो जाएगी।
अगली बार इससे बचने के लिए, यदि मशीन का उपयोग करने से पहले tcsh
, zsh
या bash
, बंद करने से पहले, Ctrl-Zउसे स्थगित mv
करने के bg
लिए , उसे पृष्ठभूमि में फिर से शुरू करने के लिए, और disown
उसे अस्वीकृत करने के लिए दबाएं ।
या आप उपयोग कर सकते हैं screen
या tmux
। एक साइट पर, वे बस अपने अब चले गए होस्ट टर्मिनल से अलग हो जाएंगे, लेकिन टर्मिनल में चलने वाले एप्लिकेशन हेडलेस होकर चलते रहेंगे और सत्र को दूसरे टर्मिनल तक पहुंचाने के लिए बाद में देखें कि कैसे mv
गए।
या SIGHUP के nohup mv
लिए mv
प्रतिरक्षा बनाने के लिए उपयोग करें और इसका आउटपुट और त्रुटियां एक nohup.out
फ़ाइल पर जाएं जिसे आप बाद में जांच सकते हैं।
अब, मुझे आपके विशिष्ट होस्टिंग प्रदाता के बारे में नहीं पता है, लेकिन कुछ के साथ, जब आप ssh
उदाहरण में हैं, तो आप वहां पर एक शेल सत्र शुरू नहीं कर रहे हैं, बल्कि कंसोल से संलग्न हैं , जो कि पहले से शुरू हो चुके सत्र के लिए है। , और जब आप बाहर निकलते हैं, तो आप उस सत्र को समाप्त नहीं करते हैं, बस उससे अलग हो जाते हैं। इसलिए, शेल को न तो मार मिलती है और न ही mv
। अगर ऐसा है, तो आप देखेंगे कि ps
वहाँ से चलने वाले आपको pid
दो अलग-अलग ssh
सत्रों में अपने शेल के लिए समान देंगे ।