PHP功能不起作用

时间:2013-12-27 08:17:02

标签: php function exec

我正在努力让这些功能发挥作用。当我发出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);
        }
    }

2 个答案:

答案 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;
}