我正在努力让这些功能发挥作用。当我发出KillEsniper
时,我倾向于得到空的结果,没有任何反应。我已经盯着这段代码好几天了,它不起作用,我似乎无法看到它的错误。一双第二只眼睛可能会创造奇迹。
function KillEsniper($pid) {
if (isEsniperRunning($pid) == true) {
exec("kill -15 ".$pid);
putEsniperLog("-KILLESNIPER- Killing esniper process with pid {$pid}");
}
}
function getPids() {
$output = shell_exec("pidof -x esniper");
if ($output != "\n") {
$pids = split(" ",rtrim($output));
}
return($pids);
}
function isEsniperRunning($pid) {
$pids = getPids();
if (!empty($pids)) {
if (strpos($pid,$pids)) {
return(true);
}
} else {
return(false);
}
}
答案 0 :(得分:0)
getPids将数组返回$ pids。你正试图用strpos搜索它。要么不拆分它,要么将它作为数组搜索......
答案 1 :(得分:-1)
试试这个
function getPids()
{
$output = shell_exec("pidof -x esniper");
$pids = array();
if ($output != "\n") {
$pids = split(" ",rtrim($output));
}
return $pids;
}
function isEsniperRunning($pid) {
$pids = getPids();
if (count($pids))
{
if (in_array($pid,$pids)) {
return true;
}
}
return false;
}