2017-04-20 18 views
1

나는이 같은 GNU 병렬 작업을 실행하고 있습니다 :gnu 병렬 : 동기화 출력?

parallel program ::: 1 2 3 4 5 6 7 8 9 10 > output.txt 

내가 출력 파일이 정렬되는 것을 보장합니다. 즉, 첫 번째 라인은 program 1의 출력, 다음 출력은 program 2 등입니다.

어떻게 보장 할 수 있습니까?

답변

2

은 내가 -k 옵션은 당신이 원하는 것을 할 수 있다고 생각 : 후자는 실제로 2 1 4 3을 생산하는 동안 사람의 페이지에서 이전의 예에서

--keep-order 
    -k  Keep sequence of output same as the order of input. 
      Normally the output of a job will be printed as soon 
      as the job completes. 
      Try this to see the difference: 
       parallel -j4 sleep {}\; echo {} ::: 2 1 4 3 
       parallel -j4 -k sleep {}\; echo {} ::: 2 1 4 3 

는, 출력, 1 2 3 4입니다.