【发布时间】:2013-08-06 16:13:53
【问题描述】:
我想在另一个后台 Bash 作业中引用一个后台 Bash 作业。这可能吗?
例如,假设我开始了一项后台工作:
$ long_running_process &
[1] 12345
现在我想在该工作完成时发生一些事情,所以我可以使用wait:
$ wait %1 && thing_to_happen_after_long_running_process_finishes
但是,这会阻塞,我希望我的终端回来做其他事情,但是 Ctrl+Z 什么都不做。
首先尝试在后台启动它却失败了:
$ { wait %1 && thing_to_happen_after_long_running_process_finishes; } &
[2] 12346
-bash: line 3: wait: %1: no such job
$ jobs
[1]- Running long_running_process &
[2]+ Exit 127 { wait %1 && thing_to_happen_after_long_running process_finishes; }
有没有办法在另一个后台作业中使用wait 引用一个作业?
我在使用 GNU Bash 4.1.2(1)-release 时看到了这种行为。
【问题讨论】:
标签: bash shell jobs job-control