ZBLOG

ps aux --sort=-%cpu | head -n 3 | awk '{print $11, $3}' COMMAND %CPU /usr/ramdisk/bin/panaos 186 /www/server/mysql/bin/mysqld 2.3为什么会有COMMAND这种输出

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助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=15664

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?