for x in $(seq 1 10); do long_process file${x} & done; wait
for x in ...; do echo long_process file$x ; done | parallel -j 8
ls files* | xargs -n 1 -P 8 long_process
printf "%s\0" files* | xargs -0 -n 1 -P 8 long_process
find ... -print0|parallel --gnu -X -0 -n 1 your_command "{}" \;
$(echo $(basename "{}")|tr '[[:blank:]]' '_'| tr -cd '\/.[[:alnum:]]_-' )
In the rare cases where I have to work with odd filenames, it is easier to rename those files than to change my clean scripts.
seq 10 | parallel long_process file{}
parallel long_process ::: file*