我正在尝试构建邮件。一切都很好,但是太慢了。
这是bash文件的代码
#!/bin/bash
FILE=$(cat $1)
for i in $FILE
do
php send.php $i
done
我的问题是如何使其工作速度更快,因为它运行速度非常慢。我已经尝试改变睡眠,但没有成功。
我该怎么做: 选择10行 php send.php $ i1 php send.php $ i2 等
用&
结束命令,在后台运行php
命令。在文件的行上迭代的正确方法是运行read
的while
循环,而不是for
循环。
while IFS= read -r i; do
php send.php "$i" &
done < "$1"
每次迭代至少需要尝试将睡眠1通过0.5或更少。
,由于您想同时运行send.php
的多个实例,因此我建议您安装screen
并将您的文件分为10个零件,然后将现有脚本包装到这样的脚本中:
#!/bin/bash
for i in {1..10}
do
screen -dms "send-$1" bash sender.sh "list-part-$i.txt"
done