在SGE / OGE下如何在多个命令中使用flock?

时间:2019-01-29 16:09:52

标签: bash sungridengine

我想让脚本在群集节点上执行以将其设置为其他脚本,并且为了避免脚本并发问题,请使用群集将它们同步。问题在于该脚本在正常的bash中就像一个超级按钮一样工作,而在SGE下由于语法错误而失败。

脚本

#!/bin/bash
LF=/var/lock/sgenodesetup

busy(){
    echo scrip already running - lockfile: $LF
    sleep 60
    exit
}

(
flock -xn 99 || busy
    echo setup command 1
    echo setup command 2
) 99>$LF

错误消息

/var/spool/gridengine/execd/sge1/job_scripts/28: 15: /var/spool/gridengine/execd/sge1/job_scripts/28: Syntax error: word unexpected

我已经尝试使用-S标志对qsub进行操作,以确保使用bash shell执行作业,但是在命令行上运行时错误仍然存​​在,从而回显了预期的行。

gridengine-master版本6.2u5-7.4

0 个答案:

没有答案