private function _kernel()
{
$result = "";
if (CommonFunctions::executeProgram($uname = "uptrack-uname", '-r', $strBuf, false) || CommonFunctions::executeProgram($uname = "uname", '-r', $strBuf, PSI_DEBUG)) {
$result = $strBuf;
if (CommonFunctions::executeProgram($uname, '-v', $strBuf, PSI_DEBUG)) {
if (preg_match('/SMP/', $strBuf)) {
$result .= ' (SMP)';
}
}
if (CommonFunctions::executeProgram($uname, '-m', $strBuf, PSI_DEBUG)) {
$result .= ' ' . $strBuf;
}
} elseif (CommonFunctions::rfts('/proc/version', $strBuf, 1) && preg_match('/version (.*?) /', $strBuf, $ar_buf)) {
$result = $ar_buf[1];
if (preg_match('/SMP/', $strBuf)) {
$result .= ' (SMP)';
}
}
if ($result != "") {
if (CommonFunctions::rfts('/proc/self/cgroup', $strBuf2, 0, 4096, false)) {
if (preg_match('/:\\/lxc\\//m', $strBuf2)) {
$result .= ' [lxc]';
} elseif (preg_match('/:\\/docker\\//m', $strBuf2)) {
$result .= ' [docker]';
} elseif (preg_match('/:\\/system\\.slice\\/docker\\-/m', $strBuf2)) {
$result .= ' [docker]';
}
}
if (CommonFunctions::rfts('/proc/version', $strBuf2, 1, 4096, false) && preg_match('/^Linux version [\\d\\.]+-Microsoft/', $strBuf2)) {
$result .= ' [lxss]';
}
$this->sys->setKernel($result);
}
}