一、命令
有三个命令:system、exec、passthru(每个命令的参数自行查阅手册)
二、区别
system:执行命令,【将】命令执行结果输出到屏幕,并以string类型返回命令输出的最后一行。
exec:执行命令,【不将】命令执行结果输出到屏幕,以string类型返回命令输出的最后一行。
passthru:执行命令,【将】命令执行结果输出到屏幕,不会返回任何内容(打印出passthru的输出可以发现是个NULL、啥都没)。
三、例子:
1、代码:
<?php
function is_running($pid)
{
$cmd = "ps aux | head";
$ret1 = system($cmd);
var_dump($ret1);
echo "\n";
$ret2 = exec($cmd);
var_dump($ret2);
echo "\n";
$ret3 = passthru($cmd);
var_dump($ret3);
echo "\n";
}
is_running(26594);
?>
2、结果(最后command列就不展示了):
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME
root 1 0.0 0.0 4828 488 ? Ss 2014 4:02
root 2 0.0 0.0 0 0 ? S 2014 0:00
root 3 0.0 0.0 0 0 ? S 2014 2:38
root 4 0.0 0.0 0 0 ? S 2014 46:08
root 5 0.0 0.0 0 0 ? S 2014 0:00
root 6 0.0 0.0 0 0 ? S 2014 0:19
root 7 0.0 0.0 0 0 ? S 2014 8:22
root 8 0.0 0.0 0 0 ? S 2014 0:00
root 9 0.0 0.0 0 0 ? S 2014 9:46
string(76) "root 9 0.0 0.0 0 0 ? S 2014 9:46
string(76) "root 9 0.0 0.0 0 0 ? S 2014 9:46
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME
root 1 0.0 0.0 4828 488 ? Ss 2014 4:02
root 2 0.0 0.0 0 0 ? S 2014 0:00
root 3 0.0 0.0 0 0 ? S 2014 2:38
root 4 0.0 0.0 0 0 ? S 2014 46:08
root 5 0.0 0.0 0 0 ? S 2014 0:00
root 6 0.0 0.0 0 0 ? S 2014 0:19
root 7 0.0 0.0 0 0 ? S 2014 8:22
root 8 0.0 0.0 0 0 ? S 2014 0:00
root 9 0.0 0.0 0 0 ? S 2014 9:46
NULL
From:purple尘