从正在运行的进程中检索信息

从正在运行的进程中检索信息

我经常强制进程不显示其输出,以便我可以更轻松地在后台运行多个进程,例如:

youtube-dl -f 22 https://www.youtube.com/watch?v=oyg0xYH12Qg &>/dev/null &

而不&>/dev/null在 shell 上显示如下信息

[download]  69.5% of 1.34GiB at 360.36KiB/s ETA 19:53

如果我想用命令了解这些信息怎么办?

答案1

如果您将命令的输出发送到/dev/null,它就会消失,您无法检索它。将输出发送到不会妨碍您的地方可能是一个更好的主意,但您可以在需要时查找它。

我想到了一些选择:如果您使用的是 GUI,则可以使用单独的终端仿真窗口并将其最小化。一些终端仿真器还提供选项卡。这样,您可以在一个选项卡中运行下载(或任何命令),并在另一个选项卡中执行其他工作。

在 TUI(基于文本的用户界面)中,像 GNUscreen或这样的终端多路复用器tmux可能是一种解决方案。有了它们,您可以使用多个窗口和/或将屏幕分成多个部分。因此,您可以在一个窗口或分割中运行下载,并在其他窗口或分割中执行其他工作。

第三种方法可能是将输出重定向到文件而不是/dev/null。 如果需要,您可以在文件中查找输出,如果不需要,它也不会妨碍您。 您只需记住偶尔清理这些文件(或使用定期清理的地方,如 )/tmp

相关内容