如何使用 PHP 获取当前在本地系统或服务器上运行的每个进程的 CPU 使用率。
如何使用命令提示符命令tasklist
从 PHP 中获取进程名称和内存信息。
这是一个例子:
Name of Processor Memory usage
Edit plus 6.1 MB
Google Chrome 20 MB
Command Prompt 5 MB
Tomcat 2.1 MB
看到您更改了答案的规范,我不想删除或屠宰我的其他答案,这可能是其他人可以接受的解决方案。
如果必须使用命令提示符命令tasklist
检索进程数据,则可以使用 PHP 中的exec()
调用此应用程序。
<?php
exec('tasklist.exe', $outputLines);
foreach($line in $outputLines)
{
//Extract information from String...
}
?>
然后,您需要使用字符串操作来提取所需的信息。 正则表达式可能是一个不错的选择。
有一个PECL软件包用于报告Windows进程,称为Win32ps(PHP手册页|PECL页面)。
使用此扩展,您应该能够检索和输出正在运行的进程列表,如下所示:
<?php
$procs = win32_ps_stat_proc();
foreach($proc in $procs)
{
echo basename($proc['exe']) . " - " . $proc['mem']['working_set_size'] . "'r'n";
}
?>
这是仅限Microsoft Windows的解决方案。
对于非Windows系统(在给出此答案后添加了Windows标签):
可能您想使用您的服务器操作系统为此提供的任何服务并通过 PHP 访问它。如果你在Unix机器上,可能有一个像ps这样的命令行工具。
ps aux | less
在此处阅读ps
。
您可以执行此操作并使用 php 中的 exec 获取输出。
echo exec('ps aux | less');
您可以使用 PHP 字符串操作函数轻松解析该输出。