ด้วย GNU Parallel คุณจะทำ:
parallel script-to-run.sh input/ output/ {} ::: {0..99}
เพิ่มใน-P8
กรณีที่คุณไม่ต้องการรันหนึ่งงานต่อแกน CPU
ตรงข้ามxargs
มันจะทำสิ่งที่ถูกต้องแม้ว่าอินพุตจะมีช่องว่าง "หรือ" (ไม่ใช่ในกรณีนี้) นอกจากนี้ยังตรวจสอบให้แน่ใจว่าเอาต์พุตจากงานที่แตกต่างกันไม่ได้ผสมกันดังนั้นหากคุณใช้เอาต์พุตที่คุณเป็น รับประกันว่าคุณจะไม่ได้รับครึ่งแถวจากสองงานที่แตกต่างกัน
GNU Parallel เป็นเครื่องขนานทั่วไปและทำให้ง่ายต่อการเรียกใช้งานแบบขนานบนเครื่องเดียวกันหรือบนเครื่องหลายเครื่องที่คุณมีสิทธิ์เข้าถึง ssh
หากคุณมีงานที่แตกต่างกัน 32 งานที่คุณต้องการรันบน CPU 4 ตัววิธีการต่อขนานแบบตรงไปตรงมาคือการรัน 8 งานบน CPU แต่ละตัว:
GNU Parallel จะสร้างกระบวนการใหม่แทนเมื่อเสร็จสิ้น - ทำให้ซีพียูทำงานอยู่และประหยัดเวลา:
การติดตั้ง
หาก 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