使用 shell 脚本启动固定数量的进程
经典用法
i=0 while true;do # 此文件里面可以放同时执行的数量,也可将其替换成一个固定值 mod=$(cat process_count.plain.txt) # 并行执行数量, 默认为3个进程执行 if [ -z "$mod" ]; then mod=3 fi if [ $((i % mod)) -eq "0" ]; then echo "running $i" # 关键在这里,需要等待上一批脚本执行完成 wait fi nohup sh your_script.sh >> your_script_${i}.log 2>&1 & ((i++)) done
wait 的作用
Linux 中的 wait 命令用于等待子进程的状态变化,并获取有关状态变化的子进程的信息。状态变化包括:
- 子进程终止
- 子进程被信号停止
- 子进程被信号恢复
wait [pid]
当子进程一直在执行的时候,wait会阻塞
如果接收到指定的信号后,会唤醒并向下执行
for pid in $(jobs -p); do wait $pid status=$? if [ $status != 0 ]; then echo " $pid status is $status have some error!" >> your_log else echo "$pid status is $status success!" >> your_log fi done
本文来自博客园,作者:吴丹阳-V,转载请注明原文链接:https://www.cnblogs.com/wudanyang/p/17895896.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)