2015-12-21 13 views
6

मैंने उदाहरण को http://www.gnu.org/software/parallel/man.html#example__calling_bash_functions पर पढ़ा है, लेकिन क्या उन 2 कार्यों को कॉल करने के लिए gnu समानांतर का उपयोग करना संभव है, जिनके पास आप उन्हें पास करने वाले चर नहीं हैं?समांतर कॉल एकाधिक बैश फ़ंक्शंस

उदाहरण

a() { 
    echo "download a" 
    wget fileA 
} 

b() { 
    echo "download b" 
    wget fileB 
} 

और समानांतर का उपयोग दोनों कार्यों a & b कॉल करने के लिए?

+1

मुझे लगता है कि आप दो अलग अलग स्क्रिप्ट बनाने के लिए और उन्हें समानांतर के साथ कॉल करने के लिए है। –

+1

जीएनयू समानांतर का उपयोग करने के बजाय, क्या आप पृष्ठभूमि में कार्यों को कॉल कर सकते हैं? 'ए और की तरह; 'बी' के साथ समवर्ती रूप से 'ए' चलाने के लिए? – chrisaycock

उत्तर

6

उन्हें पृष्ठभूमि में चलाएं। और फिर उन्हें पूरा करने के लिए प्रतीक्षा करें।

a() { 
    echo "download a" 
    wget fileA 
} 

b() { 
    echo "download b" 
    wget fileB 
} 

a & 
b & 
wait # waits for all background processes to complete 
+0

चीयर्स जो वास्तव में नौकरी करता है! – p4guru

5

आप जीएनयू समानांतर का उपयोग कर पर जोर देते हैं:

a() { 
    echo "download a" 
    wget fileA 
} 

b() { 
    echo "download b" 
    wget fileB 
} 
export -f a 
export -f b 
parallel ::: a b 
संबंधित मुद्दे