【发布时间】:2022-01-03 10:54:05
【问题描述】:
我想用 Laravel 获取服务器上正在运行的进程列表。
我该怎么做?
【问题讨论】:
-
我想用 laravel framwork 获取进程列表,而不是通过 linux 命令
-
如果要查找工匠命令,请查看laravel.io/forum/…
我想用 Laravel 获取服务器上正在运行的进程列表。
我该怎么做?
【问题讨论】:
您需要与之交互的所有数据都位于操作系统的/proc 文件夹中,请记住,该文件夹的内容不是真正的文件系统,而是一些保持真实的虚拟文件-时间系统状态。
如果您想了解更多关于 /proc 的信息,您可以refer 到此页面。
现在您所需要的只是以某种方式读取文件的内容并将所有所需的数据收集到您想要的任何接收器(数据库/HTML 页面/缓存等)。
这可以通过PHP来完成,读取文件,按空间爆炸,得到结果。
如果你只想使用 Laravel,你可以使用 Symfony 进程类(你在 Laravel 中提供的类)
使用use Symfony\Component\Process\Process;将该类导入您的文件
执行你的命令:
$process = new Process(['ps', '-aux']);
$process->run();
// executes after the command finishes
if (!$process->isSuccessful()) {
throw new ProcessFailedException($process);
}
echo $process->getOutput();
如果您对此 read Symfony 文档有疑问
【讨论】: