php如何批量后台操作进程

2022-09-11 17:50:13 浏览数 (1)

批量运行

代码语言:javascript复制
function run($filenames)
{
    foreach ($filenames as $filename) {
        $exec_str = 'php  ' . " $filename >> ./service.log & ";
        exec($exec_str);
    }
}

run(['orderService.php', 'userService.php']);
批量删除1
代码语言:javascript复制
$exec_str = 'ps -ef|grep php|grep -v grep|cut -c 9-15|xargs kill -9';
exec($exec_str);
批量删除2
代码语言:javascript复制
$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)的所有文件
代码语言:javascript复制
 grep -rn "php" .
 或者
 find -type f -name "*.php" | xargs grep "php"

查看最大进程号

代码语言:javascript复制
cat /proc/sys/kernel/pid_max

修改最大进程号

代码语言:javascript复制
echo 956856 >  /proc/sys/kernel/pid_max

0 人点赞