等待孩子的LSF父母工作

时间:2012-11-30 07:52:54

标签: unix lsf

我正在使用 LSF bsub 命令在Unix环境中提交作业。然而,LSF工作正在等待子工作完成。

以下是一个示例(有关下面示例脚本的详细信息):

  1. 没有LSF :如果我在Unix中提交parent.ksh而不使用LSF,即在命令提示符下输入./parent.kshparent.ksh获取提交并且无需等待子作业script1.kshscript2.ksh即可在一秒钟内完成,因为这些作业已在后台模式下提交。这是Unix中的典型行为。
  2. 使用LSF :但是,如果我使用parent.ksh提交LSF,即bsub parent.ksh,则parent.ksh等待180秒(这是最长的提交后儿童编号2即script2.ksh)所花费的时间。请注意我已将未完成工作的时间排除在等待状态。
  3. 这是我没想到的,我怎样才能确保不会发生这种情况?

    我已经检查过,在这两种情况下都调用了script1.kshscript2.ksh

    parent.ksh:

    #!/bin/ksh<br>
    /abc/def/script1.ksh &<br>
    /abc/def/script1.ksh &<br><br>
    

    script1.ksh:

    #!/bin/ksh<br>
    sleep 80<br><br>
    

    script2.ksh:

    #!/bin/ksh<br>
    sleep 180
    

1 个答案:

答案 0 :(得分:0)

我想原因是LSF跟踪您的作业的进程树,因此LSF作业只能完成,直到这两个后台进程退出。因此,您可以尝试在新会话下为后台进程创建一个新的进程组。