bg之后是否可以停止命令的输出?


8

假设这种情况

wget http://file 

wget开始下载文件。

我把它放在后台。

^Z
bg

该命令进入后台。

但是,如果控制台仍处于打开状态,它的输出也仍然在控制台上。

是否可以停止命令的输出?

Wget只是一个例子。考虑一个写很多输出的命令。

在控制台上,我知道可以执行此操作bg,然后关闭终端然后再打开另一个终端,但是如果我只有一个终端可用而没有伪终端怎么办?


Answers:


2

这是一个实际上在命令运行重定向其输出的解决方案:https : //superuser.com/questions/732503/redirect-stdout-stderr-of-a-background-job-from-console-to-a-日志文件

对于在使用终端的日常情况中更有用的解决方案,您可以 在后台wget -o log http://file & 运行wget并将其输出写入log终端而不是终端。当然,在这种情况下,您根本看不到任何输出(即使您wget在前台运行),但是您可以tail -f log查看输出的增长。


2

您是说要保持wget(或其他cmd)在后台运行而不向控制台输出消息吗?如果这是问题,您可以尝试redirection

$ wget http://file > /dev/null

上方的cmd会将重定向stdout/dev/null,您将看不到除错误消息以外的消息。如果您也不想看到错误消息,请尝试以下操作

$ wget http://file 1>/dev/null 2>&1

您可以在Google上redirection搜索更多详细信息。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.