Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bluecannonball/fproc
A process manager written in C++ and Rust.
https://github.com/bluecannonball/fproc
Last synced: 9 days ago
JSON representation
A process manager written in C++ and Rust.
- Host: GitHub
- URL: https://github.com/bluecannonball/fproc
- Owner: BlueCannonBall
- License: gpl-3.0
- Created: 2021-04-02T21:17:03.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-10-26T02:03:19.000Z (about 2 years ago)
- Last Synced: 2024-10-13T08:19:56.041Z (about 1 month ago)
- Language: C++
- Size: 354 KB
- Stars: 14
- Watchers: 3
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![alt text](https://raw.githubusercontent.com/BlueCannonBall/fproc/main/fproc.png)
[![forthebadge](https://forthebadge.com/images/badges/made-with-c-plus-plus.svg)](https://forthebadge.com)
[![forthebadge](https://forthebadge.com/images/badges/made-with-rust.svg)](https://forthebadge.com)
[![forthebadge](https://forthebadge.com/images/badges/designed-in-inkscape.svg)](https://forthebadge.com)
[![forthebadge](https://forthebadge.com/images/badges/powered-by-black-magic.svg)](https://forthebadge.com)
[![forthebadge](https://forthebadge.com/images/badges/check-it-out.svg)](https://forthebadge.com)
# `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
fprocUSAGE:
fproc [SUBCOMMAND]FLAGS:
-h, --help Prints help information
-V, --version Prints version informationSUBCOMMANDS:
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.
```sh
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.