टर्मिनल मल्टीप्लेक्सर में प्रक्रिया शुरू करने के लिए सबसे अच्छी विधि है। वैकल्पिक रूप से आप इस प्रक्रिया को HUP संकेत प्राप्त नहीं कर सकते हैं।
एक टर्मिनल मल्टीप्लेक्स "वर्चुअल" टर्मिनल प्रदान करता है जो "वास्तविक" टर्मिनल से स्वतंत्र रूप से चलता है (वास्तव में आज सभी टर्मिनल "वर्चुअल" हैं लेकिन यह एक और दिन के लिए एक और विषय है)। वर्चुअल टर्मिनल चालू रहेगा भले ही आपका असली टर्मिनल आपके ssh सत्र के साथ बंद हो।
वर्चुअल टर्मिनल से शुरू होने वाली सभी प्रक्रियाएं उस वर्चुअल टर्मिनल के साथ चलती रहेंगी। जब आप सर्वर को फिर से कनेक्ट करते हैं तो आप वर्चुअल टर्मिनल को फिर से कनेक्ट कर सकते हैं और सब कुछ ऐसा होगा जैसे कि कुछ भी नहीं हुआ, जो समय बीतने के अलावा।
दो लोकप्रिय टर्मिनल मल्टीप्लेक्स स्क्रीन और tmux हैं ।
स्क्रीन में एक मजबूत सीखने की अवस्था है। यहाँ अवधारणा को समझाने वाले आरेखों के साथ एक अच्छा ट्यूटोरियल है: http://www.ibm.com/developerworks/aix/library/au-gnu_screen/
HUP संकेत (या SIGHUP) अपने सभी बच्चे प्रक्रियाओं के लिए टर्मिनल द्वारा भेजे गए जब टर्मिनल बंद कर दिया है है। SIGHUP प्राप्त करने की सामान्य क्रिया को समाप्त करना है। इस प्रकार जब आपका ssh सत्र समाप्त हो जाता है तो आपकी सभी प्रक्रिया समाप्त हो जाएगी। इससे बचने के लिए आप अपनी प्रक्रियाओं को SIGHUP प्राप्त नहीं कर सकते।
ऐसा करने के दो आसान तरीके हैं nohup
और disown
।
इस प्रश्न और उत्तर को कैसे nohup
और कैसे disown
पढ़ा जाता है, इसके बारे में अधिक जानकारी के लिए : https://unix.stackexchange.com/questions/3886/difference-between-nohup-disown-and
नोट: हालाँकि प्रक्रियाएँ चलती रहेंगी आप अब उनके साथ बातचीत नहीं कर सकते क्योंकि वे अब किसी भी टर्मिनल से जुड़ी नहीं हैं। यह विधि मुख्य रूप से लंबे समय तक चलने वाली बैच प्रक्रियाओं के लिए उपयोगी है, जो एक बार शुरू हो जाने के बाद, किसी भी उपयोगकर्ता इनपुट की आवश्यकता नहीं होती है।
screen
आपको बहुत अधिक विकल्प प्रदान करता है, लेकिन यदि आपauthorized_keys
लोगों को किसी स्क्रिप्ट को दूरस्थ रूप से चलाने की अनुमति देने के लिए उपयोग कर रहे हैंssh
, तोnohup
विकल्प स्क्रिप्ट के लिए एक अच्छा सरल तरीका है प्रक्रियाओं को शुरू करने के लिए जोssh
उन्हें शुरू करने के लिए उपयोग किए गए सत्र से अधिक समय तक रहता है। ।