linux脚本执行进度条,为在shell脚本中并行运行的命令添加一个进度条,并跟踪退出代码...

我使用一个脚本来运行多个python和shell脚本。

很少有人使用&并行运行。我的要求是跟踪这个并行运行任务的进度,并显示它,我想得到脚本的退出代码,如果任何脚本在执行日志中失败,它会说脚本-1/2/3由于x原因而失败。在

我尝试使用下面的代码集。每件事都在进行串行处理,但是

对于并行处理命令,我得到最后执行进程Id:#!/bin/bash

LOG_DIR_LOC=$1

export python_path='/usr/bin/python'

export log_file=${LOG_DIR_LOC}/log_parallel_exec_`date "+%d-%m-%Y_%H:%M:%S"`.log

export script1='/home/test-arg.py'

export script2='/home/parallel.py'

export script3='/home/test.sh'

pids=""

echo -ne '#.................................................................................................... (1%)\r'

sleep .5

${python_path} ${script1} a b >> ${log_file} 2>&1 &

pids+=($!)

echo -ne '#################################################.................................................... (40%)\r'

sleep .5

${python_path} ${script2} c d >> ${log_file} 2>&1 &

pids+=($!)

echo -ne '###############################################################################...................... (70%)\r'

sleep .5

sh ${script3} >> ${log_file} 2>&1 &

pids+=($!)

echo -ne '##################################################################################################.... (98%)\r'

sleep .5

wait

if [ $? -eq 0 ]; then

echo "SUCCESS - Job exited with a status of $?" >> ${log_file} 2>&1

else

echo "FAILED - Job exited with a status of $?" >> ${log_file} 2>&1

fi

done

echo -ne '##################################################################################################### (100%)\r'

sleep .5

你可能感兴趣的:(linux脚本执行进度条)