DataSift\Storyplayer\OsLib\Base_Unix::getProcessIsRunning PHP Method

getProcessIsRunning() public method

public getProcessIsRunning ( HostDetails $hostDetails, string $processName ) : boolean
$hostDetails HostDetails
$processName string
return boolean
    public function getProcessIsRunning($hostDetails, $processName)
    {
        // what are we doing?
        $log = usingLog()->startAction("is process '{$processName}' running on host '{$hostDetails->hostId}'?");
        // SSH in and have a look
        $command = "ps -ef | grep '{$processName}'";
        $result = $this->runCommand($hostDetails, $command);
        // what did we find?
        if ($result->didCommandFail() || empty($result->output)) {
            $log->endAction("not running");
            return false;
        }
        // whittle down the output
        $lines = explode("\n", $result->output);
        $lines = FilterColumns::from($lines, "7", ' ');
        $lines = FilterForMatchingRegex::against($lines, "/^{$processName}\$/");
        if (empty($lines)) {
            $log->endAction("not running");
        }
        // success
        $log->endAction("is running");
        return true;
    }