0

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

4

2 に答える 2

1

違いを説明するために短いプログラムを書きました。

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

出力:

prog.php
Cmd: prog.php
Retval: 0
于 2013-05-19T17:50:21.120 に答える