Run shell scripts, commands and executables in parallel (ger: gleichzeitig).
demo.mp4
- Download the latest release for your architecture.
- Extract the archive
- Move the binary to an executable path:
- Linux:
$ sudo mv ./gleichzeitig /usr/bin/gleichzeitig
- Windows:
copy
gleichzeitig
toC:\Program Files
- Linux:
requires git and go
- clone the repo
$ git clone https://github.com/xnacly/gleichzeitig
$ cd gleichzeitig
- build the project
$ go build
- move the build executable into the path
$ sudo mv ./gleichzeitig /usr/bin/gleichzeitig
- execute to check if everything worked
$ gleichzeitig
gleichzeitig starts all commands specified in its configuration and keeps them running until they terminate. It redirects all stdout and stderr to its own output and throws errors if a process terminates prematurely or with a non 0 exit code.
To keep the gleichzeitig setup low friction, the gleichzeitig init
command creates the configuration directory and the config.json
file with the default configuration in it.
The configuration is located at .gleichzeitig/config.json
in the current working directory and is composed of the following key value pairs:
{
"only_color_prefix": true,
"color_output": true,
"commands": [],
"log_file": "",
"surpress_output": false
}
only_color_prefix
: wheter to color the full stdout and stderr prints or only the prefixes:0x |
color_output
: whether the output of the individual commands should be coloured different to allow the user to differentiate between themcommands
: array of instructions gleichzeitig executes, of the following format:{ "cwd": ".gleichzeitig", "cmd": "echo 'test'" }
cwd
: specify the working directory for the command to execute in, supports relative pathscmd
: the command to execute, if not found error is thrown
log_file
: the file to write all logs tosurpress_output
: whether the commands stdout and stderr should be printed
command | description | example |
---|---|---|
executes the commands in the config | gleichzeitig |
|
run,r | executes the arguments as commands | gleichzeitig run "echo 'hello world'" "ls -la" |
init, i | creates the config dir, file and writes the default config to it | gleichzeitig init |
version, v | prints the version, exits | gleichzeitig version |
help, h | prints the help, exits | gleichzeitig help |