1

如何使用 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
4

3 回答 3

1

对于非 Windows 系统给出此答案后添加了 windows 标签):

可能您想使用您的服务器操作系统为此提供的任何服务并通过 PHP 访问它。如果你在一台 Unix 机器上,可能有一个像 ps 这样的命令行工具。

ps aux | less

ps 这里阅读。

您可以执行此操作并使用php中的exec获取输出。

echo exec('ps aux | less');

您可以使用PHP 字符串操作函数轻松解析该输出。

于 2014-04-03T09:48:03.670 回答
1

有一个用于报告Windows 进程的 PECL 包,称为 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的解决方案。

于 2014-04-03T09:58:10.810 回答
1

看到您已经更改了答案的规范,我不想删除或删除我的其他答案,这可能是其他人可以接受的解决方案。

如果您必须使用命令提示符命令tasklist来检索流程数据,那么您可以使用exec()PHP 调用此应用程序。

<?php
exec('tasklist.exe', $outputLines);

foreach($line in $outputLines)
{
    //Extract information from String...
}
?>

然后,您将需要使用字符串操作来提取您想要的信息。正则表达式可能是一个不错的选择。

于 2014-04-03T15:16:35.853 回答