Perché il parallelo (GNU?) Fallisce silenziosamente e come posso ripararlo?


15

In uno script più grande per postelaborare alcuni dati di simulazione avevo la seguente riga:

parallel bnzip2 -- *.bz2

Che, se ho capito parallelbene (e potrei non farlo), dovrebbe eseguire thread n-core del programma su tutti i file con l'estensione elencata. Potresti notare che ho scritto male il comando bunzip2. Mi aspetterei un messaggio di avviso o di errore qui, ma non riesce in silenzio. Questo è previsto? Come faccio a non essere morso da questo in futuro?

Aggiornare:

È possibile che ne abbia parallelinstallato uno diverso da quello che penso di fare:

> 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

Una pagina man di parallelsul mio sistema fornisce:

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

Il che sembra che questa non sia la versione GNU.


Stampa un errore sul mio sistema. Cosa parallel --versiondice? $ parallel bnzip2 -- * sh: bnzip2: command not found
Mikel,

GNU parallel è "Copyright (C) 2010,2011,2012 Ole Tange, ole.tange.dk e Free Software Foundation, Inc." (Stesso autore sin dall'inizio.)
Mat

Risposte:


20

Sei stato colpito dalla confusione con il parallelo di Tollef da moreutils. Vedi https://www.gnu.org/software/parallel/history.html

Puoi installare GNU Parallel semplicemente:

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

Guarda i video introduttivi di GNU Parallel per saperne di più: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1


1
Tutto ha un senso adesso! Per la cronaca, su Ubuntu 12 ora apt-get install paralleltira il parallelo di Tollef non la tua versione GNU. Grazie per avermi compilato.
Hooked


12

(Vorrei fare questo un commento, ma mi mancano i privilegi.)

Probabilmente puoi anche semplicemente usare parallel --gnu . Hai detto che Ubuntu 12 (.04?) Usa la versione di Tollef, ma in realtà è l'implementazione di gnu, per impostazione predefinita è semplicemente la sintassi di Tollef per qualche motivo.

Ho aggiunto alias parallel='parallel --gnu'al mio script di accesso in modo da non dovermi più preoccupare.


2
Puoi anche aggiungere --gnua $ HOME / .parallel / config.
Thor

Nota: la risposta qui è indirizzare un commento da @Hooked.
nobar,

Vedi qui per un altro approccio più un po 'più di dettaglio riguardo alle versioni: askubuntu.com/a/298598/11522 .
nobar,

1
Fedora mette anche frustrante --tollef in / etc / parallel / config . Come se ciò non fosse abbastanza odioso, lo stesso GNU parallel riporta che --tollef verrà rimosso su 20140222 .
musicinmybrain,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.