PHP - 获取当前进程的打开文件数量

PHP - Get amount of open files of current process

出于监控目的,我想将当前进程的打开文件数量转发给我们的监控工具。在 shell 中,可以执行以下命令来获取所需的信息: ls /proc/PROCES_ID/fd | wc -l 其中 PROCES_ID 是当前进程 ID。有没有办法在 PHP 中本地获取此信息?

从 php 脚本中 运行 任何 shell 命令并获得输出:


来自PHP manual on exec() command

exec(string $command, array &$output = null, int &$result_code = null): string|false

您的命令:

$output = []; // this array will hold whatever the output from the bash command
$result_code = null; // this will give you the result code returned, if needed
$command = '/proc/PROCES_ID/fd | wc -l'; // command to be run in the bash
exec($command, &$output, &$result_code);

//now you can look into $output array variable for the values returned from the above command
print_r($output);

但如评论中所述,如果可行,应优先使用 bash 脚本而不是 php。