小编lov*_*ool的帖子

如何在 shell 脚本中等待 nohup 作业完成?

我有以下脚本:

echo "$wk" | while read -r a b;
do
    counter=$(($counter+1))
    nohup sh -c 'impala-shell -d nielsen -f query.sql --var=dt=$a --var=incre=$b;
    echo $a,$?>>$week_status_file;
    if [ $? -ne 0 ]; then
        echo $a,$b>>$err_week_file
    fi'
    if [ $(($counter%5)) == 0 -a $counter -ge 5 ];
    then
        echo "Check"
        wait
    fi
done
Run Code Online (Sandbox Code Playgroud)

impala-shell...这个想法是用两个变量ab(来自变量)启动包装的命令wk。这应该与 5 个进程并行完成。接下来的 5 个作业应等待前 5 个进程完成。我当前的代码打印出来Check,但它根本不等待。但是,如果我更改waitsleep 10s,它就会休眠。

我如何wait在这里工作?

bash shell-script nohup wait

5
推荐指数
1
解决办法
8728
查看次数

标签 统计

bash ×1

nohup ×1

shell-script ×1

wait ×1