GNU Parallel을 사용하면 다음을 수행 할 수 있습니다.
parallel script-to-run.sh input/ output/ {} ::: {0..99}
CPU 코어 당 하나의 작업을 실행 -P8
하지 않으 려면 추가하십시오 .
반대로 xargs
입력에 공백, '또는 "(여기서는 해당되지 않음)이 포함되어 있어도 올바른 작업을 수행합니다. 또한 다른 작업의 출력이 함께 혼합되지 않도록하므로 출력을 사용하면 두 가지 다른 직업에서 반 라인을 얻지 못할 것입니다.
GNU Parallel은 일반적인 병렬 처리기이며 동일한 시스템 또는 ssh 액세스 권한이있는 여러 시스템에서 병렬로 작업을 쉽게 실행할 수 있습니다.
4 개의 CPU에서 실행하려는 32 개의 다른 작업이있는 경우 병렬화하는 간단한 방법은 각 CPU에서 8 개의 작업을 실행하는 것입니다.
대신 GNU Parallel은 하나가 완료되면 새 프로세스를 생성하여 CPU를 활성 상태로 유지하여 시간을 절약합니다.
설치
GNU Parallel이 배포 용으로 패키징되지 않은 경우 루트 액세스가 필요하지 않은 개인 설치를 수행 할 수 있습니다. 다음을 수행하여 10 초 내에 완료 할 수 있습니다.
$ (wget -O - pi.dk/3 || lynx -source pi.dk/3 || curl pi.dk/3/ || \
fetch -o - http://pi.dk/3 ) > install.sh
$ sha1sum install.sh | grep 67bd7bc7dc20aff99eb8f1266574dadb
12345678 67bd7bc7 dc20aff9 9eb8f126 6574dadb
$ md5sum install.sh | grep b7a15cdbb07fb6e11b0338577bc1780f
b7a15cdb b07fb6e1 1b033857 7bc1780f
$ sha512sum install.sh | grep 186000b62b66969d7506ca4f885e0c80e02a22444
6f25960b d4b90cf6 ba5b76de c1acdf39 f3d24249 72930394 a4164351 93a7668d
21ff9839 6f920be5 186000b6 2b66969d 7506ca4f 885e0c80 e02a2244 40e8a43f
$ bash install.sh
다른 설치 옵션은 http://git.savannah.gnu.org/cgit/parallel.git/tree/README를 참조하십시오.
더 알아보기
더 많은 예보기 : http://www.gnu.org/software/parallel/man.html
소개 동영상보기 : https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1
자습서 살펴보기 : http://www.gnu.org/software/parallel/parallel_tutorial.html
지원을 받으려면 이메일 목록에 등록하십시오 : https://lists.gnu.org/mailman/listinfo/parallel