/**
* 判断脚本是否在运行
* @param $script_name
* @return array
*/
public function isRunning($script_name)
{
try {
exec('sudo ps -aux | grep ' . $script_name, $output, $return_var);
if ($return_var == 0) {
foreach ($output as $key => $row) {
$temp_arr = [];
foreach (explode(' ', $row) as $column) {
if (!empty($column)) {
$temp_arr[] = $column;
}
}
if (in_array($script_name, $temp_arr)) {
return ['code' => StatusCode::SUCCESS, 'data' => [], 'msg' => '脚本已经在执行'];
} else {
return ['code' => StatusCode::FAILED, 'data' => [], 'msg' => '脚本没有在执行'];
}
}
}
return ['code' => StatusCode::INNER_ERROR, 'data' => [], 'msg' => 'exec执行脚本失败, 返回状态return_var: ' . $return_var . '; $output:' . json_encode($output)];
} catch (\Exception $e) {
return ['code' => StatusCode::INNER_ERROR, 'data' => [], 'msg' => '内部错误,请联系管理员,' . $e->getMessage()];
}
}