当我们进行对比实验的时候,需要更换参数跑多个实验,但是我们不能总是等在电脑前面。那么我们就可以选择使用shell命令。创建sh文件写入如下命令,使用`chmod +x name.sh`赋予权限后运行sh文件即可。
#!/bin/bash
# 创建一个锁文件
touch lockfile1
# 第一个nohup命令
nohup python run.py --dataset=ml-20m --comparison_layer=1 >> train_ml_l1r5.log 2>&1 &
# 等待上一个命令结束
while [ -e lockfile1 ]; do
if find . -name "train_ml_l1r5.log" -mmin -20 | grep -q .; then
# 文件在过去的20分钟内被更改了,不进行任何操作。
: # 这是一个占位符
else
# 文件在过去的20分钟内没有被更改,删除锁文件。
rm lockfile1
fi
sleep 60 # 每隔60秒检查一次锁文件是否存在
done
# 创建一个锁文件
touch lockfile2
# 第二个nohup命令
nohup python run.py --dataset=ml-20m --comparison_layer=3 >> train_ml_l3r5.log 2>&1 &
while [ -e lockfile2 ]; do
if find . -name "train_ml_l3r5.log" -mmin -20 | grep -q .; then
:
else
rm lockfile2
fi
sleep 60
done
nohup python run.py