如何从命令行获取所有 php fpm 池的列表?
How do I get a list of all php fpm pools from command line?
我们 运行 我们自己的监控、管理器面板和 python 架构脚本。
除了 "ps" 输出解析 [1] 命令行 fu 之外,我找不到任何本机方法。
检索到的池信息越多越好(用户、统计信息、超时...)
第一个计划是解析 pool.d ini 文件和 php-fpm.conf 包含在 python 中并使用该信息。
我是否忽略了其他更容易或更明显的事情?
1: http://www.commandlinefu.com/commands/view/13901/list-php-fpm-pools-by-total-cpu-usage
至少,你可以使用:
列出php-fpm pools的所有进程:
sudo service php7.4-fpm status
有关 运行 php-fpm 池的详细信息
sudo php-fpm{php-ver} -tt
例如:
sudo php-fpm7.4 -tt
此外,您可以通过以下方式查看 运行 PHP 服务:
sudo systemctl list-units | grep fpm
要获取所有已安装 php 版本的池信息,您可以使用此函数:
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
}
我们 运行 我们自己的监控、管理器面板和 python 架构脚本。
除了 "ps" 输出解析 [1] 命令行 fu 之外,我找不到任何本机方法。
检索到的池信息越多越好(用户、统计信息、超时...)
第一个计划是解析 pool.d ini 文件和 php-fpm.conf 包含在 python 中并使用该信息。
我是否忽略了其他更容易或更明显的事情?
1: http://www.commandlinefu.com/commands/view/13901/list-php-fpm-pools-by-total-cpu-usage
至少,你可以使用:
列出php-fpm pools的所有进程:
sudo service php7.4-fpm status
有关 运行 php-fpm 池的详细信息
sudo php-fpm{php-ver} -tt
例如:
sudo php-fpm7.4 -tt
此外,您可以通过以下方式查看 运行 PHP 服务:
sudo systemctl list-units | grep fpm
要获取所有已安装 php 版本的池信息,您可以使用此函数:
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
}