public function keepalive() : bool
    {
        $this->reloadPids();

        // if already running don't do anything:
        if ($this->managerIsRunning() === true) {
            return false;
        }

        // if there are no workers at all do a fresh start:
        if (empty($this->pids)) {
            $this->start();
            return true;
        }

        // startup new workers if necessary:
        $this->adjustRunningWorkers();

        // delete old pid files:
        $this->reloadPids();

        return true;
    }