Skip to content
This repository has been archived by the owner on Jun 12, 2018. It is now read-only.

A small platform independent library making it simple to create and stop new processes in C++, as well as writing to stdin and reading from stdout and stderr of a new process

License

Notifications You must be signed in to change notification settings

eidheim/tiny-process-library

Folders and files

NameName
Last commit message
Last commit date
Nov 17, 2017
Nov 3, 2017
Nov 3, 2017
Nov 28, 2017
May 27, 2018
Jun 12, 2018
Nov 17, 2017
Feb 22, 2018
Nov 21, 2017
Feb 22, 2018
Feb 13, 2018

Repository files navigation

This project has moved to https://gitlab.com/eidheim/tiny-process-library.

tiny-process-library

A small platform independent library making it simple to create and stop new processes in C++, as well as writing to stdin and reading from stdout and stderr of a new process.

This library was created for, and is used by the C++ IDE project juCi++.

Features

  • No external dependencies
  • Simple to use
  • Platform independent
    • Creating processes using executables is supported on all platforms
    • Creating processes using functions is only possible on Unix-like systems
  • Read separately from stdout and stderr using anonymous functions
  • Write to stdin
  • Kill a running process (SIGTERM is supported on Unix-like systems)
  • Correctly closes file descriptors/handles

Usage

See examples.cpp.

Get, compile and run

Unix-like systems

git clone http://gitlab.com/eidheim/tiny-process-library
cd tiny-process-library
mkdir build
cd build
cmake ..
make
./examples

Windows with MSYS2 (https://msys2.github.io/)

git clone http://gitlab.com/eidheim/tiny-process-library
cd tiny-process-library
mkdir build
cd build
cmake -G"MSYS Makefiles" ..
make
./examples

About

A small platform independent library making it simple to create and stop new processes in C++, as well as writing to stdin and reading from stdout and stderr of a new process

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published