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