And Rey
ну... Гуй я сделал на PyQt5. Он при старте ищет PID процесса ninja а потом по клавишам и кликам отправляет в этот пид два сигнала — SIGUSR1 и SIGUSR2. А ninja я пропатчил, чтобы она условие CanRunMore() вычисляла не по статике config_.parallelism, а по той переменной моей, которая от SIGUSR1 и SIGUSR2 меняется.
Короче мне стыдно показывать.
А, ну вот это мне и было интересно