php执行shell命令,system、exec、passthru

一、命令

有三个命令: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尘

猜你喜欢

转载自blog.csdn.net/cscrazybing/article/details/46971837