9

我有一个任务是不断地回显信息。

例如,如果您执行 git clone 并且想要将该任务发送到后台(通过使用 & 符号)

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

然后 git clone 操作不断刷新屏幕与 git clone 进程的新百分比,即:

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 

所以我不能继续在前台执行其他操作,因为这些更新阻止我看到我正在尝试编写的内容。

你能告诉我如何有效地将这样一个冗长的任务发送到后台吗?

非常感谢!

4

4 回答 4

6

您可以让进程将其输出写入文件(如果您需要稍后查看),如下所示:

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 &

于 2013-01-31T16:13:05.157 回答
4

其他答案很好,但您也可以使用:

git clone -q ...

详情请看这里

于 2013-01-31T16:40:02.040 回答
1

重定向其标准输出:

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

或使用命令的适当详细选项(在本例中为 git)

于 2013-01-31T16:12:39.553 回答
-1

如果您特别希望将其放在后台,您可以&在命令末尾附加一个 & 符号 ( ),或者在它运行时使用ctrl+z该命令'bg'在后台运行它。要将其恢复,请使用jobs列出您的工作,然后fg %{job #}将其恢复。希望这有助于并在这种独特的情况下起作用

于 2013-01-31T16:40:06.210 回答