Para is a command-line utility that runs jobs in parallel.
It is simpler, lighter, and more portable than Concurrently, GNU Parallel, and rust-parallel.
It consists of a single source file, is written in C99, and only uses the Unix standard library. So it should work on almost every Unix-like system and be easy to integrate into C-based projects.
It's fast, too.
Important
The GitHub repository only hosts discussions and the issue tracker.
Run echo foo and echo bar in parallel:
$ para 'echo foo' 'echo bar'
bar
foo
Compose commands from arguments:
$ para -c 'echo {}' foo bar baz
foo
bar
baz
Add FOO=bar
to the job environment:
$ para FOO=bar 'sh -c "echo $FOO"'
bar
Para should work on almost every Unix-like system. More precisely, it should work on every system that complies with POSIX.1-2008, including the X/Open System Interface and Spawn extensions. It has been tested on Alpine Linux, Debian, Darwin, FreeBSD, NetBSD, and OpenBSD.
Compiling Para requires:
- A C compiler that supports C99 (e.g., GCC ≥ v4.3, Clang ≥ v1.0, or TinyCC ≥ v0.9)
- An assembler and a linker (e.g., from GNU Binutils or a BSD system)
- Make (GNU Make and BSD makes are known to work)
- The header files of your system's standard library
Para comes with a script that installs these dependencies if needed.
See https://odkr.codeberg.page/para/install
See the home page, the manual, and para -h.
Home page: https://odkr.codeberg.page/para
Issue tracker: https://github.com/odkr/para/issues
Source code (primary): https://codeberg.org/odkr/para
Source code (mirror): https://repo.or.cz/para.git
Copyright 2023 and 2024 Odin Kroeger
Para is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the FreeSoftware Foundation, either version 3 of the License, or (at your option) any later version.
Para is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with Para. If not, see https://www.gnu.org/licenses/.