2013-08-17 50 views
1

所以我寫一個腳本來調用一個進程365次,他們應該在10批次運行,所以這是我寫的東西,但有多個問題 - 1.日誌消息不是寫入日誌文件,我看到err文件中的錯誤消息 2.有這個「命令未找到」的錯誤我一直從線程的腳本獲取。 3.即使命令犯規成功,它仍然不打印失敗,但成功打印Bash腳本:產生多個進程問題

#!/bin/bash 

set -m 
FAIL=0 

for i in {1..10} 
do 
    waitPIDS=() 
    j=$i 
    while [ $j -lt 366 ]; do 

    exec 1>logfile 
    exec 2>errorfile 

`process $j &` 

    waitPIDS[${#waitPIDS[@]}]=$! 
    j=$[$j+1] 

done 

for jpid in "${waitPIDS[@]}" 
do 
    echo $jpid 
    wait $jpid 
    if [[ $? != 0 ]] ; then 
    echo "fail" 
    else 
    echo "success" 
    fi 
done 

done 

有什麼不對呢?

謝謝!

回答

1

最起碼,這條線:

`process $j &` 

不應該有任何反引號。你可能只是想:

process $j & 

除此之外,你覆蓋你的日誌文件,而不是追加到他們;這是打算?

+0

謝謝是的反向問題,但我認爲從bash腳本的任何進程應該反向運行。 是的,我忘了在日誌中添加$ j,因爲我正在爲每個實例創建一個日誌。 – user2158455