Por que o paralelo (GNU?) Falha silenciosamente e como corrigi-lo?


15

Em um script maior para pós-processar alguns dados de simulação, eu tinha a seguinte linha:

parallel bnzip2 -- *.bz2

O qual, se eu entendi parallelcorretamente (e talvez não), deve executar os threads n-core do programa em todos os arquivos com a extensão listada. Você pode perceber que eu escrevi errado o comando bunzip2. Eu esperaria uma mensagem de aviso ou erro aqui, mas ela falha silenciosamente. Isso é pretendido? Como eu não sou mordido por isso no futuro?

Atualizar:

É possível que eu tenha um diferente parallelinstalado do que penso:

> 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

Uma página de manual parallelno meu sistema fornece:

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

O que parece que essa não é a versão GNU.


Imprime um erro no meu sistema. O que parallel --versiondiz? $ parallel bnzip2 -- * sh: bnzip2: command not found
Mikel

O paralelo GNU é "Copyright (C) 2010,2011,2012 Ole Tange, ole.tange.dk e Free Software Foundation, Inc." (Mesmo autor desde o início.) #
184

Respostas:


20

Você foi atingido pela confusão com o paralelo de Tollef de moreutils. Consulte https://www.gnu.org/software/parallel/history.html

Você pode instalar o GNU Parallel simplesmente:

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

Assista aos vídeos de introdução do GNU Parallel para saber mais: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1


1
Tudo faz sentido agora! Para que conste, no Ubuntu 12, neste momento, apt-get install parallelo paralelo de Tollef não é sua versão GNU. Obrigado por me
informar


12

(Gostaria de fazer um comentário, mas não tenho os privilégios.)

Você também pode provavelmente apenas usar parallel --gnu. Você disse que o Ubuntu 12 (.04?) Usa a versão do Tollef, mas na verdade é a implementação do gnu, apenas padroniza a sintaxe do Tollef por padrão por algum motivo.

Eu adicionei alias parallel='parallel --gnu'ao meu script de login para não precisar mais me preocupar com isso.


2
Você também pode adicionar --gnua $ HOME / .parallel / config.
Thor

Nota: A resposta aqui está abordando um comentário de @Hooked.
Nobar

Veja aqui outra abordagem, além de um pouco mais de detalhes sobre as versões: askubuntu.com/a/298598/11522 .
nobar 30/05

1
O Fedora também coloca frustrantemente --tollef em / etc / parallel / config . Como se isso não fosse desagradável, o GNU paralelamente relata que o --tollef será removido no 20140222 .
musicinmybrain
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.