आपका पायथन कार्यक्रम पूर्ववत है nohup
।
nohup
के साथ हैंगअप सिग्नल को अनदेखा करता है SIG_IGN
और फिर उसी प्रक्रिया में आपके प्रोग्राम को चेन लोड करता है।
आपका पायथन कार्यक्रम तुरंत अपने स्वयं के सिग्नल हैंडलर को स्थापित करते हुए, हैंगअप सिग्नल के लिए सिग्नल हैंडलिंग को रीसेट करता है। वह हैंडलर एक आंतरिक फ़ंक्शन की जाँच करता है (जो कि बहुत अच्छी तरह से डिज़ाइन नहीं किया गया है, कुछ त्रुटिपूर्ण मान्यताओं पर आधारित होने के नाते, यदि यह वह है जिसे मैंने देखा है) और यह तय करता है कि हैंगअप सिग्नल मिलने पर कार्रवाई का उपयुक्त पाठ्यक्रम उस संदेश को प्रिंट करना है और बाहर निकलें।
डिजाइन द्वारा आपका पायथन कार्यक्रम nohup
उल्लेखनीय नहीं है । जॉब कंट्रोल शेल और POSIX सेशन / जॉब सिमेंटिक्स वाले सिस्टम पर, आपको जॉब करने की आवश्यकता होती है, disown
ताकि शेल को इसके बारे में पहले से ही हैंगअप सिग्नल भेजने के बारे में कभी पता न चले।
(यहां तक कि जो कि systemd ऑपरेटिंग सिस्टम पर पर्याप्त नहीं है। क्योंकि systemd लोगों ने अपने यूजर-स्पेस लॉगिन सेशन मेकेनिज्म का एक सुअर का थोड़ा सा कान बनाया है, आपको यह भी सुनिश्चित करने की जरूरत है कि systemd का मैकेनिज्म सिस्टम शटडाउन को सिग्नल करता है, बजाय हैंगअप के। हर लॉगआउट पर लॉगिन सत्र भी किक नहीं कर रहा है।)
आगे की पढाई
tmux
औरnohup
पूरी तरह से अनदेखा या डिस्क्राइब या बैकग्राउंड टास्क करता हूं ।