2016-10-17 65 views
1

我知道执行一个命令并添加&到最后会创建一个作业并使该命令在后台执行。如何在shell脚本中创建作业?

现在我想在bash shell中创建一个作业。我试图

#!/bin/bash 

my-job & 
# some other tasks 

然后我执行jobs,但我没有输出。但ps aux确实显示my-job正在后台运行。

我想在脚本中创建一个作业,因为在某些情况下,我想将作业带入前台。

回答

1

jobs通常是一个交互式shell的概念,因为通常涉及一个控制终端。

shell脚本是在shell的非交互式非登录会话中执行的,因此缺省情况下没有作业控制。

您可以强制作业控制脚本中,通过设置:

set -m 

在脚本中。

help set

-m Job control is enabled.