A process manager for Linux written in C++ and Rust.
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!
$ 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
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.
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 ..
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.