@ जेनपेंग जीएनयू समानांतर के साथ सही रास्ते पर था , सिर्फ कार्यान्वयन नहीं।
उदाहरण: अपने प्रोग्राम के 10 समानांतर उदाहरण चलाएं, प्रत्येक धागे के साथ केवल एक बार अपना प्रोग्राम चलाएं:
parallel -j10 './myprog argument1 argument2 #' ::: {1..10}
उदाहरण: 10 समानांतर थ्रेड्स चलाएँ, जिनमें से प्रत्येक थ्रेड आपके प्रोग्राम को असीम रूप से चला रहा है:
parallel -j10 'while true ; do ./myprog argument1 argument2 ; done #' ::: {1..10}
आप 10
मेरे उदाहरणों को बदलकर आसानी से इसे सैकड़ों सूत्र में पिरो सकते हैं।
parallel -j200 ... ::: {1..200}
यदि आपका प्रोग्राम किसी भी स्टडआउट संदेश का उत्पादन करता है और आप उन्हें देखना चाहते हैं क्योंकि वे उत्पादित होते हैं (बजाय डिफ़ॉल्ट जो उन्हें टकराते हैं), --ungroup
समानांतर का विकल्प उपयोगी हो सकता है।
parallel --ungroup ...
यदि आप अपने कार्य केंद्र से बहुत सारे थ्रेड चला रहे हैं और यह नहीं चाहते हैं कि चीजें अनुत्तरदायी हो जाएं, तो nice
लॉन्च समय पर पूरी प्रक्रिया को घटाएं।
nice -n19 parallel ...
साइड नोट, जीएनयू समानांतर आमतौर पर डिफ़ॉल्ट रूप से स्थापित नहीं है, लेकिन अपने सामान्य पैकेज रेपोस में आमतौर पर है, इसलिए किसी भी अन्य पैकेज की तरह इसे स्थापित: dnf install parallel
, apt-get install parallel
, brew install parallel
, आदि
myprog
उदाहरणों को जन्म देता है और आपके लिए उनका आउटपुट एकत्र करता है।