批量运行

function run($filenames)
{
    foreach ($filenames as $filename) {
        $exec_str = 'php  ' . " $filename >> ./service.log & ";
        exec($exec_str);
    }
}

run(['orderService.php', 'userService.php']);

批量删除1

$exec_str = 'ps -ef|grep php|grep -v grep|cut -c 9-15|xargs kill -9';
exec($exec_str);

批量删除2

$exec_str = "ps -aux | grep php | grep -v grep | awk '{print $2}' | xargs kill -9";
exec($exec_str);

简单介绍

  • | 管道符,左边结果作为右边输入
  • ps -ef或者ps -aux列出所有进程
  • grep php 包含php关键字的进程
  • grep -v grep 过滤命令本身包含的php关键字
  • cut -c 9-15 或者 awk '{print $2}' 找出php关键字进程的pid

    • cut -c 9-15 取进程字符串的9-15即为pid
    • awk '{$2}' 取进程字符串的二个字段即为pid
  • xargs kill -9 用xargs 将前面的命令结果即pid传递给kill命令

    拓展

  • 文件内容包含某个关键字(这里关键字为php)的所有文件

     grep -rn "php" .
     或者
     find -type f -name "*.php" | xargs grep "php"
  • 查看最大进程号

    cat /proc/sys/kernel/pid_max
  • 修改最大进程号

    echo 956856 >  /proc/sys/kernel/pid_max
Last modification:January 11, 2022
如果觉得我的文章对你有用,请随意赞赏