gpt4 book ai didi

linux - Shell 脚本 (BASH) 中的多处理

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:48:57 26 4
gpt4 key购买 nike

我已经编写了一个脚本,我想做的是通过使用子处理或后台处理或我需要使用的任何东西来尽可能快地运行它以加快计算速度。

所以我想在我的脚本中使用 & 符号来尽可能地加快处理速度,但是当我把它放在这里时,我没有得到回显的结果。

这是我编写的功能,正在努力改进 apon。

InTri(){
while read line
do
V1X=$(echo "$line" | awk '{print $1}') &
V1Z=$(echo "$line" | awk '{print $2}') &
V2X=$(echo "$line" | awk '{print $3}') &
V2Z=$(echo "$line" | awk '{print $4}') &
V3X=$(echo "$line" | awk '{print $5}') &
V3Z=$(echo "$line" | awk '{print $6}') &
run=$(echo "$line" | awk '{print $7}') &
wait
echo "$V1X $V1Z $V2X $V2Z $V3X $V3Z $run"
done < <(mysql -u root -ppassword LightCycle -N -e "SELECT V1X, V1Z, V2X, V2Z, V3X, V3Z, ID FROM Temp3 WHERE (V1X <= $x OR V2X <= $x OR V3X <= $x) AND (V1X >= $x OR V2X >= $x OR V3X >= $x) AND (V1Z <= $z OR V2Z <= $z OR V3Z <= $z) AND (V1Z >= $z OR V2Z >= $z OR V3Z >= $z);")
}

我读过“man bash”(或者我能理解的内容),但我不明白为什么这不起作用。

帮助! :)

感谢任何有能力的人,非常感谢您的意见。

最佳答案

您可能认为创建更多进程会使它更快,但实际上它可能会因为创建新进程和所有管道的开销而变慢。

为什么不简单地执行以下操作?

mysql -u root -ppassword LightCycle -N -e "SELECT V1X, V1Z, V2X, V2Z, V3X, V3Z, ID FROM Temp3 WHERE (V1X <= $x OR V2X <= $x OR V3X <= $x) AND (V1X >= $x OR V2X >= $x OR V3X >= $x) AND (V1Z <= $z OR V2Z <= $z OR V3Z <= $z) AND (V1Z >= $z OR V2Z >= $z OR V3Z >= $z);" | awk '{print $1" "$2" "$3" "$4" "$5" "$6" "$7}'

或者如果你想将它们读入变量:

while read V1X V1Z V2X V2Z V3X V3Z run
do
echo "$V1X $V1Z $V2X $V2Z $V3X $V3Z $run"
done < <(mysql -u root -ppassword LightCycle -N -e "SELECT V1X, V1Z, V2X, V2Z, V3X, V3Z, ID FROM Temp3 WHERE (V1X <= $x OR V2X <= $x OR V3X <= $x) AND (V1X >= $x OR V2X >= $x OR V3X >= $x) AND (V1Z <= $z OR V2Z <= $z OR V3Z <= $z) AND (V1Z >= $z OR V2Z >= $z OR V3Z >= $z);")

关于linux - Shell 脚本 (BASH) 中的多处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13471056/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com