Skip to content

BlueCannonBall/fproc

Repository files navigation

alt text

forthebadge forthebadge forthebadge forthebadge forthebadge

fproc

A process manager for Linux written in C++ and Rust.

Motivation

After setting up cpu/memory limits for all the processes running on my server, I was astonished to find that the memory usage was still over 120 MB. After doing some probing, I found that pm2, a process manager, was using more CPU/memory than all my services combined!

Usage (CLI)

$ fproc help
fproc

USAGE:
    fproc [SUBCOMMAND]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    delete     Delete a process
    help       Prints this message or the help of the given subcommand(s)
    list       List all managed processes.
    restart    (Re)start a process
    run        Run a process
    stop       Stop a process

Building & Installing

When run from the root folder of this repo, the commands below compile and install the fproc daemon, CLI, and GUI. The daemon, CLI, and GUI can be compiled and installed separately from each other using the makefiles provided in their respective directories.

$ make
# make install

Note that the fproc daemon depends on the Boost C++ Libraries

Note that the fproc GUI depends on the Boost C++ Libraries and gtkmm 3.0

Note that # denotes a root shell, while $ denotes a regular shell.

One-liner for Debian

The command below compiles and installs the fproc daemon, CLI, and GUI on Debian systems.

git clone https://github.com/BlueCannonBall/fproc && cd fproc && sudo apt-get install libgtk-3-0 libgtkmm-3.0-dev libboost-all-dev build-essential -y && curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && source ~/.cargo/env && make -j && sudo make install && cd ..

Downloading & Installing from GitHub Actions

fproc has a GitHub action which automatically builds the daemon, CLI, and GUI whenever fproc is updated. fproc can be installed from GitHub Actions by downloading the latest build artifacts and running the install script bundled with the artifacts.

About

A process manager written in C++ and Rust.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published