2015-01-22 2 views
1

을 사용하는 bash의 병렬 테스트 나는 grunt 테스트를 가지고 있는데, MAC 머신의 Jenkins에서 실행되며 분배기를 실행 한 후에 선점자 grunt spe 및 선점자 spe-table을 병렬 처리해야합니다.bash 또는 병렬 GNU

lineman grunt spe 
lineman grunt spe-table 
lineman grunt distributive 

테스트의 실행은, 또한 분배 작업이 실행될 때 나는

lineman grunt spe >spe.out 2>spe.err & 
lineman grunt spe-table >spe-table.out 2>spe-table.err & 
lineman grunt distributive 

그것은 작동하지만, 작업을 수행하려고했습니다, 그것은 좋은 결정이 아니다.

내가 이런 식으로 병렬 GNU 를 실행하려고 좋은 생각으로 :

parallel -j 2 "lineman grunt spe" "lineman grunt spe-table" 
lineman grunt dist 

그러나 아무것도 앞으로 일어날 바로 젠킨스의 출력이 문자열을 참조하십시오. 어떻게 해결할 수 있습니까?

답변

1

처음 두 명령 뒤에 단순히 wait 명령을 사용할 수 있습니다. 이렇게하면 쉘이 모든 백그라운드 작업이 완료 될 때까지 기다려야합니다.

lineman grunt spe >spe.out 2>spe.err & 
lineman grunt spe-table >spe-table.out 2>spe-table.err & 
wait 
lineman grunt distributive 

이 경우 두 세트의 테스트가 완료 될 때까지 마지막 명령이 실행되지 않습니다.

1
parallel ::: "lineman grunt spe" "lineman grunt spe-table" 

나 :

parallel lineman grunt ::: spe spe-table 

이 GNU 병렬의 간단한 사용의 일부이기 때문에, 나는 당신이 '남자 병렬'에서 독자의 가이드 따르지 않았다 걸릴 :

을 리더 가이드

소개 비디오를 보면서 시작 : http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

그런 다음 옵션 목록 뒤의 EXAMPLE을보십시오. 그러면 GNU 병렬의 기능을 알 수 있습니다.

다음 튜토리얼 (남자 parallel_tutorial)을 한시간 보면서 보냅니다. 커맨드 라인이 당신을 사랑합니다.

마지막으로 아직 다루지 않은 특별 요구 사항이있는 경우이 설명서의 나머지 부분을 참조하십시오.