计算集群中nohup嵌套使用与任务输出路径配置问题
如何在计算集群后台批量提交任务并保留各任务独立输出文件
问题背景
我需要在网络不稳定的计算集群上批量提交任务,要求每个任务的输出文件保存在各自的任务文件夹中,而非打印到终端。最初在1.sh里用nohup ./do.sh &启动单个任务,再通过./1.sh &执行脚本,但终端断开后进程会终止。
尝试直接用nohup ./1.sh &提交整个脚本时,所有任务的输出都会被合并写入同一个nohup.out,无法满足各任务输出独立存储的需求。
原1.sh脚本:
while [some condition] do ifort -O3 iDFT_grafted.f90 nohup ./do.sh & cd ../ done cd ../
原do.sh脚本:
./a.out
解决方法
已解决该问题,调整1.sh中的任务启动逻辑即可:
- 将
1.sh里的nohup ./do.sh &替换为./do.sh > output.txt &,让单个任务的输出定向到当前文件夹的output.txt文件 - 用
nohup ./1.sh &提交整个批量脚本,确保提交过程在后台持续运行,不受终端断开影响
修改后的1.sh:
while [some condition] do ifort -O3 iDFT_grafted.f90 ./do.sh > output.txt & cd ../ done cd ../
这样既保证了整个批量任务提交流程不受网络中断影响,又让每个任务的输出独立保存在各自的文件夹中。
内容的提问来源于stack exchange,提问作者Dabu
相关产品推荐
相关产品推荐

