首页 > 其他 > 详细

qsub提交到PBS的脚本中不能使用 &(后台运行命令)?!

时间:2014-02-27 01:38:33      阅读:1054      评论:0      收藏:0      [点我收藏+]

pbs_script.sh

#!/bin/bash -
myprog arg1 arg2 &


直接前台交互运行上面的脚本(即:./pbs_script.sh)时,myprog能正常运行并输出相应结果。但是,如果用qsub提交上面的脚本到PBS作业系统时,myprog却不会被运行。


若去掉后台运行命令&,则提交PBS时myprog也能正常运行。即:

myprog arg1 arg2


其原因在于:

原来的代码,PBS作业系统读取脚本到第二行&处时,将 myprog 交给后台,然后立即退出了该脚本。但是此时扔到后台的myprog还没来得及返回运行结果给PBS。所以造成PBS没有返回myrpog的结果给用户。

据此,任何PBS脚本(即用qsub命令提交给PBS作业系统的shell脚本)中,一旦使用了后台运行命令&,其后一定要加上wait命令。即:

#!/bin/bash -
myprog arg1 arg2 &
wait
这样,PBS读取完第二句后会先等待后台返回myprog的运行结果,然后才退出该脚本。



Thanks for suggests from:  http://biowulf.nih.gov/user_guide.html



qsub提交到PBS的脚本中不能使用 &(后台运行命令)?!,布布扣,bubuko.com

qsub提交到PBS的脚本中不能使用 &(后台运行命令)?!

原文:http://blog.csdn.net/quantumpo/article/details/19932073

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!