我正在编写脚本,但是我需要一些我找不到解决方法...
我需要在后台“ command1&”中创建命令,然后在脚本中的某个地方等待命令完成之前再执行command2。基本上,我需要这样:
注意:每个命令都在特定目录中运行!在while循环结束时,我的command1创建了4个目录,其中每个目录都运行特定的进程,因此正在运行的进程总数为4
a=1
while [$a -lt 4 ]
. command1
#Generates 1 Process
a= `export $a +1`
done
#Wait until the 4 process end and then run the command2
. command2
我已经看到了有关wait
带有pid进程号的命令的一些信息,但这也没有用。
是! 我已经知道了:)
—
澳门Joao 2014年
我已经相应更新了我的答案。告诉我它是否符合您的期望。
—
Laurent C.
这个Q与此有关:unix.stackexchange.com/questions/100801/…。唯一的区别是您需要从后台进程获取PID。您可以使用
—
slm
$!
变量来获取此变量,并将其传递给wait
命令,如我在此处所示。$!
包含最后一个后台PID,同时$$
包含最后一个进程运行的PID。
好的,现在您的脚本根本没有意义。到处都有语法错误和奇怪之处。您能告诉我们实际的脚本吗?为什么要采购命令?为什么不执行它们呢?
—
terdon
command1
吗?您是否可以对其进行修改,使其返回4个进程的PID?