PHP脚本kill超过30分钟的cgi进程

大家可能经常遇到服务器上cgi进程非常多。导致php响应速度巨慢的情况,下面贴出一个用PHP脚本kill掉超过30分钟的cgi进程:

$rs = shell_exec('ps -A | grep php-cgi');

$ls = explode("\n", $rs);

$max_time = 30; //分钟

$n = 0;

foreach($ls as $l)
{
    $l = trim( $l );

    if( $l=='' ) continue;

    $items = preg_split("/[ ]+/", $l);

    if( !isset($items[3]) ) continue;

    if( trim($items[3]) != 'php-cgi' ) continue;

    list($hh, $mm, $ss) = explode(':', $items[2]);

    $hh = intval($hh);

    $mm = intval($mm);

    $mm += $hh * 60;

    if( $mm > $max_time  ) {

        $doquery = "kill -9 {$items[0]}";

        shell_exec( $doquery );

        echo $items[2], '::', $doquery."\n";

        $n++;
    }
}


-----------------------------10K+招聘、技术交流群:207776690

你可能感兴趣的:(php-cgi,php-cgi进程过多)