Program has 5 threads:
- Reader - reads /proc/stat file and sends read data to Analyzer
- Analyzer - calculates percentage usage of every CPU thread
- Printer - prints usage in form of horizontal bars and percentage numbers
- Watchdog - checks if every thread still works. If any freezes, then it attempts to gracefully close all threads and if it's not possible it forces to termination
- Logger - saves various logs into *.txt file. In worst case scenario there will be two log files, 10MiB each
Program can catch SIGTERM and SIGINT.
Tested on Manjaro and Ubuntu