2012-07-06 59 views
0

我需要將幾個文件複製到遠程服務器。檢查後臺進程的返回狀態

for database in `mysql -Bse"show databases" | grep '^us' ` 
do 

time scp $database.gz gs://tbl_name/ & 

done 

我用&推過程中的背景,使腳本可以繼續處理下一個文件。問題是由於網絡問題,10個文件中有1個無法傳輸。但我無法檢查返回代碼,因此不知道哪些文件失敗。

回答

1

可以等待特定的進程,並從該狀態:

cmd & 
pid=$! 
cmd2 & 
pid2=$! 
wait $pid || echo cmd failed >&2 
wait $pid2 || echo cmd2 failed >&2