我知道执行命令并在末尾添加 &
会创建一个作业并使命令在后台执行。
现在我想在 bash shell 中创建一个作业。我试过了
#!/bin/bash
my-job &
# some other tasks
然后我执行了jobs
,但没有任何输出。但是,ps aux
确实显示 my-job
正在后台运行。
我想在脚本中创建一个作业,因为在某些情况下我想将该作业置于前台。
最佳答案
作业
通常是一个交互式 shell 概念,因为通常涉及一个控制终端。
Shell 脚本在非交互式、非登录的 shell session 中执行,因此默认情况下没有作业控制。
您可以通过设置强制在脚本内进行作业控制:
set -m
在脚本内。
来自帮助集
:
-m Job control is enabled.
关于bash - 如何在shell脚本中创建作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40079378/