Saya ingin menggunakan fitur GNU parallel di mana ia dapat mengeksekusi perintah dan daftar itu dimasukkan secara paralel dan meludahkannya setelah semuanya selesai, namun, saya tidak ingin menginstal GNU parallel di semua server kami.
Atau mungkin versi paralel xargs
?
Apakah ada implementasi ksh dari apa yang dilakukan GNU Parallel? Dalam hal ini, itu tidak harus dilakukan dalam rangka seperti halnya GNU Parallel - sepanjang semua output dapat disalurkan atau disimpan. Saya juga ingin menghindari menggunakan file sementara.
ksh
gnu
parallelism
gnu-parallel
Nitrodist
sumber
sumber
Jawaban:
Jika Anda ingin memparalelkan pada mesin dengan banyak inti, Anda bisa menggunakan (GNU)
xargs
, misalnya:Artinya:
xargs
memulai hingga 16 proses secara paralel./crunching
dengan menggunakan 1 token dari stdin untuk setiap proses.Anda juga dapat menggunakan
split
dalam kombinasi dengan xargs.Atau Anda dapat membuat Makefile sederhana untuk eksekusi dan panggilan Pekerjaan
make -f mymf -j $CORES
(Anda memerlukan file sementara untuk solusi ini).PS: Manual paralel GNU juga mencakup beberapa perbandingan dengan alat lain, termasuk xargs dan make , yang menariknya mereka tulis:
sumber
xargs
terkenal buruk ketika dijalankan secara paralel karena output dapat bercampur.Lihat di
parallel --embed
mana embed GNU Parallel ke dalam skrip shell yang sama dengan tempat Anda menggunakannya.lalu edit skrip baru.
sumber