如何从命令行获取所有php fpm池的列表?

如何从命令行获取所有php fpm池的列表?,php,monitoring,sysadmin,fpm,Php,Monitoring,Sysadmin,Fpm,我们运行自己的监控、管理器面板和python结构脚本 除了“ps”输出解析[1]命令行外,我找不到任何本机方法 检索到的池信息越多越好(用户、状态、超时等) 第一个计划是解析pool.dini文件和python中包含的php-fpm.conf,并使用这些信息 我是否忽略了其他更容易或更明显的事情 1:至少,您可以使用: 列出php fpm池的所有进程: sudo service php7.4-fpm status sudo systemctl list-units | grep fpm fu

我们运行自己的监控、管理器面板和python结构脚本

除了“ps”输出解析[1]命令行外,我找不到任何本机方法

检索到的池信息越多越好(用户、状态、超时等)

第一个计划是解析pool.dini文件和python中包含的php-fpm.conf,并使用这些信息

我是否忽略了其他更容易或更明显的事情

1:

至少,您可以使用:

列出php fpm池的所有进程:

sudo service php7.4-fpm status
sudo systemctl list-units | grep fpm
function ShowPHPInfo {

    declare -a allLines_ia
    readarray -t allLines_ia < <(sudo systemctl list-units -t service --full --all --plain --no-legend | grep fpm | awk -v col1=1 -v col2=2 -v col3=3 '{print $col1, $col2, $col3}')
    for i in "${!allLines_ia[@]}"; do
        serviceRow=${allLines_ia[i]}
        serviceName=${serviceRow%.*}        
        echo -e "$serviceRow ==========================\n\n"
        service "$serviceName" status
    done

}
有关运行php fpm池的详细信息

sudo php-fpm{php-ver} -tt
对于exmaple:

sudo php-fpm7.4 -tt
另外,您可以通过以下方式查看正在运行的PHP服务:

sudo service php7.4-fpm status
sudo systemctl list-units | grep fpm
function ShowPHPInfo {

    declare -a allLines_ia
    readarray -t allLines_ia < <(sudo systemctl list-units -t service --full --all --plain --no-legend | grep fpm | awk -v col1=1 -v col2=2 -v col3=3 '{print $col1, $col2, $col3}')
    for i in "${!allLines_ia[@]}"; do
        serviceRow=${allLines_ia[i]}
        serviceName=${serviceRow%.*}        
        echo -e "$serviceRow ==========================\n\n"
        service "$serviceName" status
    done

}
要获取所有已安装php版本的池信息,可以使用以下函数:

sudo service php7.4-fpm status
sudo systemctl list-units | grep fpm
function ShowPHPInfo {

    declare -a allLines_ia
    readarray -t allLines_ia < <(sudo systemctl list-units -t service --full --all --plain --no-legend | grep fpm | awk -v col1=1 -v col2=2 -v col3=3 '{print $col1, $col2, $col3}')
    for i in "${!allLines_ia[@]}"; do
        serviceRow=${allLines_ia[i]}
        serviceName=${serviceRow%.*}        
        echo -e "$serviceRow ==========================\n\n"
        service "$serviceName" status
    done

}
函数ShowPHPInfo{
声明-a所有行

readarray-t allLines_ia<在更多服务器中测试了commandlinefu,并且输出缺少一些不太活跃的池。