(GNU?) 병렬 처리가 자동으로 실패하는 이유와 이를 해결하는 방법은 무엇입니까?

(GNU?) 병렬 처리가 자동으로 실패하는 이유와 이를 해결하는 방법은 무엇입니까?

일부 시뮬레이션 데이터를 후처리하기 위한 더 큰 스크립트에는 다음 줄이 있습니다.

parallel bnzip2 -- *.bz2

내가 parallel올바르게 이해했다면(그렇지 않을 수도 있음), 프로그램의 n-코어 스레드는 나열된 확장자를 가진 모든 파일에서 실행되어야 합니다. 내가 명령의 철자를 잘못 입력했음을 알 수 있습니다 bunzip2. 여기에 경고나 오류 메시지가 나타날 것으로 예상했지만 자동으로 실패합니다. 의도적인 걸까요? 앞으로 이 일로 인해 괴로움을 당하지 않으려면 어떻게 해야 합니까?

고쳐 쓰다:

parallel내 설치가 생각과 다를 수 있습니다 .

> parallel --version`


parallel: invalid option -- '-'
parallel [OPTIONS] command -- arguments
    for each argument, run command with argument, in parallel
parallel [OPTIONS] -- commands
    run specified commands in parallel

parallel내 시스템의 매뉴얼 페이지는 다음을 제공합니다.

 parallel(1)                                                        parallel(1)
NAME
       parallel - run programs in parallel
....
AUTHOR
   Tollef Fog Heen

그것은 것 같다아니요GNU 버전.

답변1

moreutils의 Tollef와의 유사성으로 인해 혼란스러워졌습니다. 바라보다https://www.gnu.org/software/parallel/history.html

다음과 같이 간단하게 GNU Parallel을 설치할 수 있습니다.

wget http://git.savannah.gnu.org/cgit/parallel.git/plain/src/parallel
chmod 755 parallel
cp parallel sem

자세히 알아보려면 GNU Parallel 소개 비디오를 시청하세요. https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

답변2

(이에 대해 논평하고 싶지만 특권이 부족합니다.)

그냥 사용할 수도 있습니다 parallel --gnu. Ubuntu 12(.04?)가 Tollef 버전을 사용한다고 말씀하셨지만 실제로는 어떤 이유로든 Tollef의 구문을 기본값으로 사용하는 gnu 구현입니다.

alias parallel='parallel --gnu'더 이상 소란을 피울 필요가 없도록 로그인 스크립트에 이것을 추가했습니다 .

관련 정보