*/5 * * * * /usr/local/bin/php somephpfile.php>> /dev/null 2>&1
dev/null 2 到底是什么意思?
谢谢
答案1
它将 STDER(标准错误)重定向到 STDOUT(标准输出)。简而言之,它们都重定向到 /dev/null,这意味着程序不会显示任何输出。
答案2
2>&1
意思是“将 stderr 发送到 stdout。”
>>/dev/null
表示“将 stdout 附加到 /dev/null”,这是一种通过将程序输出发送到 来隐藏程序输出的方法/dev/null
,其唯一目的就是充当数据的黑洞。(严格来说,对于/dev/null
,>>/dev/null
与 相同>/dev/null
。)
这些规则是从右到左进行评估的,因此组合起来它们表示“隐藏输出到 stderr 和 stdout 的所有内容。” 一个常见的错误是以相反的顺序指定它们,这不会隐藏 stderr 输出。
/dev/null
另外值得一提的是:您可以通过以下方式明确发送两个流1>/dev/null 2>/dev/null
或者 &>/dev/null
而不是将 stderr 发送到 stdout 然后将 stdout 发送到/dev/null
。
答案3
它的意思是将标准错误和标准输出重定向为无(丢弃)。