Shell 多线程并发运行脚本
初始化线程池
## @TODO: Initial thread pool
## @IN: null
## @OUT: null
function THREAD_INT {
FIFO_FILE=${BASE_DIR}/Initial_pool.fifo
[[ -e "$FIFO_FILE" ]] && rm -f "$FIFO_FILE"
mkfifo "$FIFO_FILE"
exec 6<> "$FIFO_FILE"
PROCESS_NUM=4
{
for ((idx=0;idx<$PROCESS_NUM;idx++)); do echo ; done
} >&6
rm -f "$FIFO_FILE"
}
调用
THREAD_INT
while read NAME
do
[[ -z "$NAME" ]] && continue
read -u6
{
##你的具体执行代码
echo '线程执行---$NAME'
echo >&6
}&
done < "${LIST_FILE}"
版权声明:本文为weixin_37704074原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。