PHP这个shell命令做什么?

时间:2013-04-10 19:06:14

标签: php shell exec

我在项目中找到了这一行:

exec('php '.$myPath."/somefile.php bah blha blha --myparam=$param > /dev/null 2>&1 < /dev/null &";)

这条线是什么意思?

我知道它运行带有参数somefile.php的{​​{1}},但这些部分是:myparam/dev/null 2>&1 < /dev/null &

2 个答案:

答案 0 :(得分:2)

所讨论的所有语法都是bash语法。您可以启动here了解详情。

然而,这里有一点解释:

> /dev/null

表示输出被重定向到/ dev / null,这意味着程序的输出将被丢弃

2>&1

表示stderr被重定向到stdout。由于stdout被扔掉,错误也会被抛弃。

< /dev/null

意味着/ dev / null被传送到程序的stdin - 实际上什么也没有。

&

在该行的末尾表示该程序应该在后台运行,使exec立即返回

答案 1 :(得分:1)

/ dev / null是一个黑洞,似乎结果发送到STDOUT(标准输出,通常是你的屏幕)和STDERR(标准错误)到黑洞。总而言之,它什么都不做。