Ubuntu 中“[command] &”的含义是什么?

Ubuntu 中“[command] &”的含义是什么?

我正在学习不同类型的 Ubuntu 命令,有一个命令

[command] &– 运行<command>并将任务发送到后台

我不明白这个命令。请举例说明该命令的详细信息。

答案1

简单来说,&在命令后添加一个将在后台运行该命令。例如:

sleep 10

这将等待 10 秒钟,然后返回提示。在&其后添加,您将立即获得提示。

答案2

这段摘录(我猜是 Bash 手册?)想要告诉您的是,您可以通过在&其末尾附加 a 在后台运行任何其他终端命令。

后台意味着该命令将开始运行,但随后它的输入将与终端断开连接,并且您将返回到 shell 提示符,以便您可以在前一个命令仍处于活动状态时运行其他命令。

后台命令可能仍会产生输出,然后显示在终端上。如果多个命令同时产生输出并混杂在一起,这可能会造成混乱。

您可以将最后发送到后台的命令重新带回到前台,以便通过键入命令来与其进行交互fg

答案3

&是使命令在后台运行的符号

如果&在命令末尾给出,它会在不同的子 shell 中在后台执行该命令,并在完成后将输出抛出到终端 Ex

$ ls &

[3] 23204
2048  Documents         github        Public           test.js

这里 23204 是后台任务的 PID

笔记:-在 shell 会话关闭后,后台进程将不再存在。SIGHUP 会终止所有正在运行的进程。

答案4

正如其他答案所说,它在后台运行命令,这意味着它不会等待该命令完成后才允许您发出更多命令。

但是,我认为其他答案中给出的示例不是很有用。对于大多数人来说,如果您在窗口系统中运行,后台运行是最有用的。打开终端窗口并发出命令

xterm

这将打开第二个终端窗口,您可以在其中输入更多命令。保持第二个窗口打开并返回第一个窗口。您会发现您无法在那里输入任何命令,因为它正在等待命令xterm完成。关闭第二个窗口(单击其关闭图标或exit在提示符下键入或按 ctrl-D),您将看到第一个窗口恢复正常。

现在,发出命令

xterm &

同样,这将打开一个新窗口,但是,如果您返回第一个窗口,您可以在那里发出更多命令,即使第二个窗口已打开。

相关内容