【问题标题】:LSF bsub waiting with variableLSF bsub 等待变量
【发布时间】:2015-03-06 15:34:35
【问题描述】:

我有一个问题要说,job1 在 LSF 中使用变量名动态等待 job2,这是我的代码

#!/bin/bash

JOB1=first
JOB2=second

bsub -I -q reg -J $JOB1 "ls /bin*" &
bsub -I -q reg -w 'done("$JOB1")' -J $JOB2 ls /usr/ &"

【问题讨论】:

    标签: bash dependency-injection wait jobs lsf


    【解决方案1】:

    几个猜测。

    1. bash 不会扩展单引号内的变量。你可能是这个意思

      bsub -I -q reg -w "done($JOB1)" -J $JOB2 "ls /usr/ &"
      
    2. 提交第二个作业时,LSF 可能不知道第一个作业。由于第一个 bsub 在后台运行,两个 bsub 相互“竞争”。第二个 bsub 可能在第一个之前与 mbatchd 对话。 strace 表明这是可能的。

      [pid  8413] 18:48:30.533859 execve(".../bsub", ["bsub", "-I", "-J", "first", "ls /bin/*"], [/* 45 vars */] <unfinished ...>
      [pid  8414] 18:48:30.534415 execve(".../bsub", ["bsub", "-I", "-w", "done(first)", "-J", "second", "ls /usr/ &"], [/* 45 vars */] <unfinished ...>
      ...
      [pid  8414] 18:48:30.572521 connect(5, {sa_family=AF_INET, sin_port=htons(6881), sin_addr=inet_addr("a.b.c.d")}, 16 <unfinished ...>
      [pid  8413] 18:48:30.573422 connect(5, {sa_family=AF_INET, sin_port=htons(6881), sin_addr=inet_addr("a.b.c.d")}, 16 <unfinished ...>
      

    【讨论】:

      猜你喜欢
      • 2012-11-18
      • 2016-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多