我在项目中找到了这一行:
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 &
?
答案 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(标准错误)到黑洞。总而言之,它什么都不做。