我经常强制进程不显示它们的输出,以便我可以更轻松地在后台运行它们中的多个,例如:
youtube-dl -f 22 https://www.youtube.com/watch?v=oyg0xYH12Qg &>/dev/null &
没有&>/dev/null
它们在外壳上显示信息,例如
[download] 69.5% of 1.34GiB at 360.36KiB/s ETA 19:53
如果我想通过命令了解这些信息怎么办?
我经常强制进程不显示它们的输出,以便我可以更轻松地在后台运行它们中的多个,例如:
youtube-dl -f 22 https://www.youtube.com/watch?v=oyg0xYH12Qg &>/dev/null &
没有&>/dev/null
它们在外壳上显示信息,例如
[download] 69.5% of 1.34GiB at 360.36KiB/s ETA 19:53
如果我想通过命令了解这些信息怎么办?
如果您将命令的输出发送到
/dev/null
,它就会消失并且您无法检索它。将输出发送到不会妨碍您的地方可能是一个更好的主意,但如果需要,您可以在其中查找它。有几个选项浮现在脑海中:如果您使用的是 GUI,则可以只使用单独的终端仿真窗口并将其最小化。一些终端仿真器还提供选项卡。有了它,您可以在一个选项卡中运行下载(或任何命令)并在另一个选项卡中执行其他工作。
在 TUI(基于文本的用户界面)中,终端多路复用器(如 GNU)
screen
或tmux
可能是一种解决方案。有了这些,您可以使用多个窗口和/或将屏幕分成多个部分。因此,您可以在一个窗口或拆分中运行下载,并在其他窗口或拆分中执行其他工作。第三种方法可能是将输出重定向到文件而不是
/dev/null
. 如果你需要它,你可以在文件中查找输出,如果你不需要,它不是你的方式。你只需要记住每隔一段时间清理一次这些文件(或者使用一个经常清理的地方,比如/tmp
)。