我经常强制进程不显示其输出,以便我可以更轻松地在后台运行多个进程,例如:
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
。