如何在Linux中运行多个后台作业?

如何在Linux中运行多个后台作业?

我对如何在前台切换到后台有一个基本的了解,反之亦然,但我正在尝试想出一种方法,以便我可以在后台运行多个作业。我尝试将多个作业放在后台但只有其中一个处于运行状态。我想要一个可以在后台运行多个作业的场景。

我遇到了这个网站我看到多个作业在后台运行。有人可以帮我分解一下如何在后台运行多个作业吗?

答案1

您可以使用 &来启动多个后台作业。

顺序运行的示例:

(command1 ; command2) &

或者并行运行多个作业

command1 & command2 &

这将启动在后台运行的多个作业。

如果您想让作业在后台运行,一旦退出终端,您可以使用nohup.这将确保SIGHUP退出终端后 , 不会发送到进程。

例子:

nohup command &

答案2

当您开始一项工作并&在末尾有一个标志时,您将其发送到后台。您可以拥有任意数量的后台作业。

当后台作业需要终端输入时,它会自动挂起,并且您会在下一个命令提示符之前(即在运行另一个命令之后)或立即收到有关该情况的通知,如果您使用set -b

当您注销时,所有正在运行的后台进程都会收到一个信号,通知它们终端已消失。此信号的默认行为是终止进程,但您可以通过启动后台作业来更改此设置nohup命令。

对于长时间运行的后台作业,您还可以使用at命令使该命令由单独的守护进程在特定时间(可以是now)启动。在这种情况下,命令的输出将通过邮件发送给您,但这需要您计算机上的邮件系统正确设置。

答案3

您只需要确保您的作业不需要终端输入或输出。这些应该来自或进入文件,并且它们将永远快乐地运行。

相关内容