COMMAND 是 ps 命令的输出字段之一,表示进程的命令名称或者进程的完整路径。在上述代码中,通过 awk
命令将进程的命令名称(\(11)和 CPU 使用率(\)3)提取出来打印。
如果你希望去除 COMMAND 字段,只打印进程名和 CPU 使用率,可以修改代码如下:
<?php
// 执行 shell 命令获取进程信息
$command = "ps aux --sort=-%cpu | grep php | head -n 3 | awk '{print $11, $3}'";
$result = shell_exec($command);
// 将结果按行分割成数组
$processes = explode("\n", trim($result));
// 遍历输出每个进程的名称和 CPU 使用率
foreach ($processes as $process) {
$info = explode(" ", $process);
if (count($info) >= 2) {
// 移除第一个字段 COMMAND
array_shift($info);
$name = implode(" ", $info);
$cpuUsage = end($info);
echo "进程名:{$name},CPU 使用率:{$cpuUsage}\n";
}
}
?>
这样修改后,将会移除掉 COMMAND 字段,并正确地输出进程名和 CPU 使用率。
内容由零声教学AI助手提供,问题来源于学员提问