/** * 判断脚本是否在运行 * @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()]; } }
原文:https://www.cnblogs.com/xiondun/p/13365754.html