मान लीजिए कि मैं तीन (अधिक या) bash स्क्रिप्ट: script1.sh
, script2.sh
, और script3.sh
। मैं इन तीनों लिपियों को कॉल करना और उन्हें समानांतर में चलाना चाहूंगा । ऐसा करने का एक तरीका सिर्फ निम्नलिखित आदेशों को निष्पादित करना है:
nohup bash script1.sh &
nohup bash script2.sh &
nohup bash script3.sh &
(सामान्य तौर पर, स्क्रिप्ट को समाप्त होने में कई घंटे या दिन लग सकते हैं, इसलिए मैं इसका उपयोग करना चाहूंगा nohup
ताकि जब तक कोई कंसोल बंद न हो जाए तब भी वे चलते रहें।)
लेकिन, क्या एकल कॉल के साथ समानांतर में उन तीन कमांड को निष्पादित करने का कोई तरीका है ?
मैं कुछ ऐसा ही सोच रहा था
nohup bash script{1..3}.sh &
लेकिन इस पर अमल के लिए प्रकट होता script1.sh
, script2.sh
और script3.sh
अनुक्रम में, समानांतर में नहीं।
nohup bash script{1..100}.sh &
या for i in {1..100}; do nohup bash script{1..100} &; done
) टाइप करने में सक्षम होना चाहूंगा nohup bash script*.sh &
।
screen
(या tmux
) भी शुरू कर सकते हैं , लेकिन आउटपुट (और इनपुट) तक पहुंच बनाए रख सकते हैं।
nohup ... & nohup ... & nohup ... &
। यदि आप इसके बजाय इसका मतलब है कि आप प्रत्येक स्क्रिप्ट नाम को अलग-अलग टाइप किए बिना सभी स्क्रिप्ट चलाना चाहते हैं, तो एक साधारण लूप यह करेगा।