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

75 篇文章 0 订阅
48 篇文章 0 订阅

一、命令

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值