前言
第一次使用超算时在登陆节点上运行程序被老师打电话问候,略感愧疚。现在把所学都整理整理,相同的错误就不能犯第二次。
虚拟环境
我们超算的虚拟环境使用env/module进行管理。
例如,在使用intel的mkl库前应使用
module load mkl
运行Shell命令
一般将一系列的Shell命令写成*.sh
的文件来运行。在提交任务时,也一般用sbatch
提交写好的*.sh
文件。
循环
Shell语言中的for循环:
for ncfile in `ls *.nc`
do
./run $ncfile
done
后台运行
使用nohup
命令后台运行程序很方便。
nohup ./download &
#使用&来使断开ssh连接时能够继续运行
如果运行的程序需要交互,并且从标准输入流stdin
输入的信息是已预定的,可用命令:
nohup ./download < input.txt &
#input.txt中预先写好了对download的标准输入流