2014-06-18 82 views
0

我有4個shell腳本dog.sh,bird.sh,cow.sh和fox.sh.這些文件中的每一個都使用xargs並行執行4個wgets來分離單獨的進程。現在我想讓這些腳本自己並行執行。對於我不瞭解的一些可移植性原因,我不能使用GNU並行。有沒有辦法,我可以用xargs或任何其他工具來做到這一點。如何並行執行4個shell腳本,我不能使用GNU並行?

另外我也可以問一下可移植性的原因是什麼?

我是一個全新的shell腳本。對不起,如果我的問題看起來神祕。

在此先感謝你們。

+0

不知道你的平臺,它是非常不可能的以確定可攜帶性原因可能是什麼。 –

+0

我的機器正在運行ubuntu linux。我知道xargs在shell腳本將要運行的機器上運行 –

+0

@Suresh但是它可以運行在哪個平臺上?沒有這些,試圖回答你的問題的人將無法提供將在目標機器上實際工作的解決方案。 –

回答

3

最簡單的方法是背景所有四個腳本。在非阻塞的方式

./dog.sh & 
./bird.sh & 
./cow.sh & 
./fox.sh & 

的符號背景被調用的過程導致所有4在同一時間執行:你可以用另一個劇本「run_parallel.sh」,看起來像這樣包裝這些。

舉個例子,這裏有一個名爲 「one_two_three.sh」 腳本:

echo 'One' 
sleep 1 
echo 'Two' 
sleep 1 
echo 'Three' 
sleep 1 
echo 'Done' 

和包裝 「wrapper.sh」:

./one_two_three.sh & 
./one_two_three.sh & 
./one_two_three.sh & 
./one_two_three.sh & 
echo 'Four running at once!' 
+0

Worked。謝謝你:) –

+0

我也會留下一個更新,看它是否有效在目標機器上 –

+0

在目標上工作:) –