我想要一个脚本,它可以自动在远程机器上运行大型数学计算作业。目前我这样做:
ssh
进入远程机器;运行matlab脚本- 定期检查以查看工作是否已完成
- 工作完成后,我
scp
将包含结果的文件手动返回到我的家用机器。
我尝试在我的脚本中使用这些行来完成这项工作(注意脚本在我的机器上运行):
ssh nohup matlab -r theScript; exit;
scp remote@~/files ~/files
这行不通。一段时间后,ssh 会话结束,脚本继续执行 scp,即使作业尚未完成且文件尚不存在。
我认为我需要做的是定期检查工作是否完成,也许通过定期ssh'ing并使用grep读取nohup.out
文件寻找信号。DONE!
然后当我看到时,将文件复制回来。但这似乎很复杂,我不知道如何将DONE!
消息返回到我的计算机以运行条件(如果您看到DONE
信号,请执行此操作...)任何想法?