php - 用 php 执行 awk linux 命令

标签 php linux

我想用php执行一个awk linux命令,命令是

 mpstat | awk '$12 ~ /[0-9.]+/ { print 100 - $12 }'

我用 linux 运行它,它给了我演示中的 cpu 使用情况,我在 php 中尝试这个:

$cmd= system("mpstat | awk '$12 ~ /[0-9.]+/ { print 100 - $12 }'",$retval);
echo $retval;

$cmd= passthru(" mpstat | awk '$12 ~ /[0-9.]+/ { print 100 - $12 }'",$retval);
 echo $retval;

它不工作,我做了一些搜索,所以我把 awk 命令放在变量中然后执行它:

$var='$12 ~ /[0-9.]+/ { print 100 - $12 }';
$cmd=  exec('mpstat | awk"$var"',$retval);
echo $retval;

并且输出总是Array

最佳答案

我写了一个简短的程序来说明区别:

<?php
$cmd = system("ls", $retval);
echo "Cmd: " . $cmd . "\n";
echo "Retval: " . $retval . "\n";
?>

输出:

prog.php
Cmd: prog.php
Retval: 0

关于php - 用 php 执行 awk linux 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16637559/

相关文章:

php - Mysql 导出到 csv 组总计

c++ - 在 gcc Linux 中将静态库链接到动态库

linux - 使用 GDB 调试运行在 XEN Hypervisor 上的虚拟机

c - 如何利用Linux的虚拟串口让C程序与Python程序通信?

php - 通过php准备语句插入mySql失败

PHP PDO类编程:Fatal error: Call to a member function fetchAll() on boolean

javascript - 数据库的表组织

php - IE6中的空白页

linux - 如何使用 diff 到 C++ 源文件并忽略行空间和注释

php - 查找具有 4 种模式的 php 文件