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