Loading AI tools
utilitaire en ligne de commande permettant l'exécution de routines shell en parallèle De Wikipédia, l'encyclopédie libre
GNU parallel est un utilitaire en ligne de commande développé et maintenu pour le projet GNU par Ole Tange. C'est un logiciel libre permettant l'exécution de routines shell en parallèle sous différents systèmes compatibles UNIX comme GNU/Linux.
Créateur | Ole Tange (d) |
---|---|
Développé par | Communauté GNU parallel (d) |
Première version | [1],[2] |
Dernière version | 20240722 ()[3] |
Version avancée | 20240622 ()[4] |
Dépôt | git.savannah.gnu.org/cgit/parallel.git |
Écrit en | Perl |
Système d'exploitation | GNU/Linux, BSD et macOS |
Type |
Logiciel utilitaire Paquet GNU |
Licence | Licence publique générale GNU version 3 ou ultérieure |
Documentation | www.gnu.org/software/parallel/parallel_tutorial.html, www.gnu.org/software/parallel/parallel.pdf et www.gnu.org/software/parallel/parallel_cheat.pdf |
Site web | www.gnu.org/software/parallel |
(for x in `cat list` ; do foo $x done) | processus_de_sortie
sous la forme simplifiée suivante:
cat list | parallel foo | processus_de_sortie
où la liste des fichiers contient des arguments pour foo et où le processus de sortie peut être vide.
Les scripts utilisant GNU parallel sont souvent plus faciles à lire que les scripts utilisant pexec.
GNU parallel comporte également les fonctionnalités suivantes :
GNU parallel peut faire tourner autant de processus en parallèle qu'il y a de processeurs.
find . -name "*.foo" | parallel grep bar
équivaut à:
grep bar $(find . -name "*.foo")
Recherche de toutes les occurrences de la chaîne bar
dans les fichiers du répertoire courant et ses sous-répertoires finissant par l'extension .foo
. La commande parallèle va fonctionner comme prévu à moins que le nom de fichier ne contienne une fin de ligne. Pour contourner cette limitation:
find . -name "*.foo" -print0 | parallel -0 grep bar
L'exemple ci-dessus rajoute des spécificités GNU à la commande find
pour séparer les noms de fichiers en utilisant le caractère nul;
find . -name "*.foo" | parallel -X mv {} /tmp/trash
La commande ci-dessus utilise {}
pour dire à parallel
de remplacer {}
par la liste des arguments.
find . -maxdepth 1 -type f -name "*.ogg" | parallel -X -r cp -v -p {} /home/media
L'exemple ci-dessus fait la même chose que:
cp -v -p *.ogg /home/media
cependant, le 1er utilisant find
/parallel
/cp
consomme moins de ressource et ne va pas s'arrêter avec une erreur si les arguments à *.ogg sont trop nombreux.
GNU parallel est officiellement intégré dans Fedora 16 depuis le [5]. On peut l'utiliser pour la compression de données audio FLAC[6], pour la compression de données au format zip[7], dans des situations de tests plus complexes[8] ou avec des logiciels de simulation de Monte-Carlo comme MCX[9]. Il est intégré au toolkit PPBS[10] depuis .
L'origine du projet remonte à 2001 de la propre « expérience utilisateur » de l'auteur[11].
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.