相关疑难解决方法(0)

如何更改正在运行的进程的输出重定向?

我知道如何重定向输出以及如何在 bash 中抑制它们。现在,假设我不小心忘了输出重定向部分的命令(例如追加2>&1> /tmp/mystdout)和我的后台进程已经运行一段时间,我还可以更改为stdoutstderr正在写入?我真的不想杀死并重新启动应用程序。

更具体地说,正如吉尔斯在他的评论中所问的那样,我想在这些场景中具体地摆弄它:

  • 错误的输出文件
  • 忘记重定向stderrstdout

或两者的结合

例如,我有 Apache 运行,我可以看到文件描述符:

/proc/8019/fd/0 -> /dev/null
/proc/8019/fd/1 -> /dev/null
/proc/8019/fd/2 -> /var/log/apache2/error.log
Run Code Online (Sandbox Code Playgroud)

linux bash io-redirection

19
推荐指数
1
解决办法
1万
查看次数

如何重定向任何命令的输出?

我正在尝试编写一个简单的脚本来监视我的网络状态,而没有所有ping的输出:

ping -q -c 1 google.com > /dev/null && echo online || echo offline
Run Code Online (Sandbox Code Playgroud)

问题是,当我没有连接时,我的输出中仍然收到一条错误消息:

ping: unknown host google.com
offline
Run Code Online (Sandbox Code Playgroud)

如何在输出中保留此错误消息?

bash ping output

15
推荐指数
3
解决办法
2万
查看次数

标签 统计

bash ×2

io-redirection ×1

linux ×1

output ×1

ping ×1