假设我从我的应用程序启动 Firefox。 stdout 和 stderr 是重定向到特定文件还是重定向到/dev/null
?如果它确实被重定向到特定文件,我还想知道如何在不知道重定向 stdout 和 stdin 的位置的情况下如何从终端运行应用程序(例如 nohup 和 disown)。换句话说,我如何告诉桌面启动应用程序,而不是自己从终端将其作为独立进程启动。当然,如果重定向到/dev/null
,那么nohup APP >/dev/null 2>&1
和& disown
就足够了。
答案1
通常,桌面环境组件的标准输出和错误~/.xsession-errors
默认会重定向到类似的文件(可能因发行版而异),并且当您通过 GUI 启动 Firefox 等应用程序时,它将继承该重定向。
GUI 应用程序的标准输入通常是/dev/null
.
但你可以做任何你想做的事。
重定向到/dev/null
是一个有效的选项和常见的选择,特别是如果您对 GUI 应用程序可能在 stdout/stderr 上生成的任何调试输出不感兴趣,或者知道相关应用程序不会生成任何输出。