eee
This commit is contained in:
+41
-33
@@ -212,39 +212,47 @@ if (!function_exists('call')) {
|
||||
|
||||
}
|
||||
|
||||
if (!function_exists('checkPortIsAlready')) {
|
||||
|
||||
|
||||
/**
|
||||
* @param $port
|
||||
* @return bool|string
|
||||
* @throws
|
||||
*/
|
||||
function checkPortIsAlready($port): bool|string
|
||||
{
|
||||
if (!Kiri::getPlatform()->isLinux()) {
|
||||
exec("lsof -i :" . $port . " | grep -i 'LISTEN' | awk '{print $2}'", $output);
|
||||
if (empty($output))
|
||||
return FALSE;
|
||||
$output = explode(PHP_EOL, $output[0]);
|
||||
return $output[0];
|
||||
}
|
||||
|
||||
$serverPid = file_get_contents(storage('.swoole.pid'));
|
||||
if (!empty($serverPid) && shell_exec('ps -ef | grep ' . $serverPid . ' | grep -v grep')) {
|
||||
Process::kill($serverPid, 0) && Process::kill($serverPid, SIGTERM);
|
||||
}
|
||||
|
||||
exec('netstat -lnp | grep ' . $port . ' | grep "LISTEN" | awk \'{print $7}\'', $output);
|
||||
if (empty($output)) {
|
||||
return FALSE;
|
||||
}
|
||||
return explode('/', $output[0])[0];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
if (!function_exists('checkPortIsAlready')) {
|
||||
|
||||
|
||||
/**
|
||||
* @param $port
|
||||
* @return bool|string
|
||||
*/
|
||||
function checkPortIsAlready($port): bool|string
|
||||
{
|
||||
$port = (int)$port;
|
||||
if ($port <= 0) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!Kiri::getPlatform()->isLinux()) {
|
||||
exec("lsof -i :" . $port . " | grep -i 'LISTEN' | awk '{print $2}'", $output);
|
||||
if (empty($output)) {
|
||||
return FALSE;
|
||||
}
|
||||
$output = explode(PHP_EOL, $output[0]);
|
||||
return $output[0];
|
||||
}
|
||||
|
||||
exec('netstat -lnp 2>/dev/null | grep :' . $port . ' | grep "LISTEN" | awk \'{print $7}\'', $output);
|
||||
if (empty($output)) {
|
||||
exec('ss -ltnp 2>/dev/null | grep :' . $port . ' | sed -n \"s/.*pid=\\([0-9]*\\).*/\\1/p\"', $output);
|
||||
}
|
||||
if (empty($output)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
$pid = trim((string)$output[0]);
|
||||
if (str_contains($pid, '/')) {
|
||||
$pid = explode('/', $pid)[0];
|
||||
}
|
||||
|
||||
return $pid !== '' ? $pid : FALSE;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (!function_exists('set_env')) {
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user