An open API service indexing awesome lists of open source software.

https://github.com/rustunit/parallelrun

Rust cli tool for running multiple commands in parallel
https://github.com/rustunit/parallelrun

cli terminal

Last synced: 9 months ago
JSON representation

Rust cli tool for running multiple commands in parallel

Awesome Lists containing this project

README

          

# parallelrun

[![crates.io][sh_crates]][lk_crates]
[![ci][sh_ci]][lk_ci]
[![discord][sh_discord]][lk_discord]

[sh_crates]: https://img.shields.io/crates/v/parallelrun.svg
[lk_crates]: https://crates.io/crates/parallelrun
[sh_ci]: https://github.com/rustunit/parallelrun/workflows/ci/badge.svg
[lk_ci]: https://github.com/rustunit/parallelrun/actions
[sh_discord]: https://img.shields.io/discord/1176858176897953872?label=discord&color=5561E6
[lk_discord]: https://discord.gg/rQNeEnMhus

![logo](./logo.png)

Runs several commands concurrently.

Heavily inspired by the `nodejs` tool [concurrently](https://www.npmjs.com/package/concurrently).

Supported and tested on Linux, MacOS and Windows.

Supported Options:
* `--kill-others` (terminates all other commands as soon as one exits)

# Demo

[![demo](https://asciinema.org/a/677736.svg)](https://asciinema.org/a/677736?autoplay=1)

# Installation

```
cargo install parallelrun
```

# Example

```sh
$ parallelrun --kill-others "echo wait 2 && sleep 2" "echo wait 3 && sleep 3"
[0] wait 2
[1] wait 3
[0] echo wait 2 && sleep 2 exited with code 0
--> Sending SIGTERM to other processes..
[1] echo wait 3 && sleep 3 exited with code SIGTERM
```

# TODO

- [ ] support more `concurrently` arguments