杀死循环中的函数调用的后台进程

时间:2016-09-09 19:40:38

标签: bash

我需要批量处理一些文件,所以我编写了一个bash脚本,它定义了一个用外部包处理这些文件的函数,然后我在每个文件的循环中运行该函数。由于文件太多,我让函数在后台运行。

概念性示例如下。主脚本名为test.sh:

test () {

./toy.sh $1

}

for (( i=1; i<=10; i++))
do
  test $i &
done

而toy.sh如下(仅作为一个例子,在现实生活中它正在做一些数据处理):

for (( i=1; i<=10; i++))
do
  echo $1
  sleep 3
done

问题:有没有办法在循环时杀死在后台运行的测试功能(调用toy.sh)?将流程置于后台的最佳编码习惯是什么?

0 个答案:

没有答案