如何处理来自后台linux任务的输出

我有一个不断回应信息的任务。

例如,如果你做一个git克隆,并且你想把这个任务发送到后台(通过使用&符号)

git clone https://github.com/mrdoob/three.js.git & 

那么git克隆操作会不断刷新git克隆进程的新百分比,即:

 Receiving objects: 47% (22332/47018), 92.53 MiB | 480 KiB/s 1410/47018), 7.18 MiB | 185 KiB/s Receiving objects: 53% (24937/47018), 99.40 MiB | 425 KiB/s 1410/47018), 7.18 MiB | 185 KiB/s 

所以我不能继续在前台进行其他操作,因为这些更新阻止了我看到我正在写的东西。

你能告诉我如何有效地发送一个像这样的一个冗长的任务到背景?

非常感谢!

你可以让这个进程把它的输出写入一个文件(如果你以后需要查看的话),像这样:

 git clone https://github.com/mrdoob/three.js.git >output.txt & 

或者像这样完全丢弃输出:

 git clone https://github.com/mrdoob/three.js.git >/dev/null & 

编辑:

您也可以在上述任一选项中包含发送到stderror的任何错误消息,方法是将&替换为2>&1 &

其他答案是好的,但你也可以使用:

 git clone -q ... 

详情请看这里 。

重定向其标准输出:

 git clone https://github.com/mrdoob/three.js.git > /dev/null & 

或者使用命令的适当的详细选项(在这种情况下为git)

如果你特别想把它放在后台,你可以在命令末尾添加&符号,或者在运行时使用ctrl+z然后命令'bg'在后台运行。 要将其复原,请使用jobs列出您的作业,然后使用fg %{job #}将其复原。 希望这有助于和工作在这种独特的情况