1

对不起我的菜鸟问题,因为我对 linux 很陌生。请考虑以下 linux 命令:

/opt/mongodb-mms-automation/bin/mongodb-mms-automation-agent 
-f /etc/mongodb-mms/automation-agent.config 
-pidfilepath /var/run/mongodb-mms-automation/mongodb-mms-automation-agent.pid 
>> /var/log/mongodb-mms-automation/automation-agent-fatal.log 2>&1

根据我的理解>>将标准输出重定向到文件,2>&1这意味着标准错误将被重定向到与标准输出相同的位置。所以在上述情况下,我希望标准输出和标准错误都被重定向到/var/log/mongodb-mms-automation/automation-agent-fatal.log.

但显然情况并非如此。我可以看到所有信息/错误消息都被重定向到一个文件/var/log/mongodb-mms-automation/automation-agent.log。有人可以解释我在阅读此命令时犯了什么错误吗?

问候,

米娜

4

1 回答 1

0

标准输出和标准错误只是默认目的地;该程序可能正在做一些事情,这些事情将破坏通过重定向到文件来保存日志的任何尝试:

  • 它直接写入终端输出,例如 /dev/pts/0。
  • 它检测标准输出/错误是否连接到文件或终端,并相应地改变行为。
  • 应用程序开发人员认为最有用的任何其他行为。

换句话说,它是特定于应用程序的。如果您真的需要,您最好找到日志文件配置设置并更改它。通常我发现保留默认值更容易和更安全(因为它们可能很方便,例如出于安全原因,例如沙盒),而是指向任何软件试图以某种方式处理该文件的默认位置。

于 2020-09-20T00:57:06.583 回答