1

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

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

这条线是什么意思?

我知道它运行一个somefile.php带有参数的myparam,但那是这些部分:/dev/null 2>&1 < /dev/null &bah blha blha

4

2 回答 2

2

所有有问题的语法都是 bash 语法。您可以从这里开始了解更多信息。

但是,这里有一点解释:

> /dev/null

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

2>&1

表示stderr 被重定向到stdout。由于标准输出被丢弃,错误也将被丢弃。

< /dev/null

意味着 /dev/null 被传送到程序的标准输入 - 实际上什么都不是。

&

在该行的末尾意味着程序应该在后台运行是什么使 exec 立即返回

于 2013-04-10T19:11:03.690 回答
1

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

于 2013-04-10T19:18:47.953 回答