6

我对 LSF 平台有疑问,我无法解决问题。

出于编写脚本的原因,我需要使用 perl 脚本检查正在运行/挂起的作业与 'bjobs'(和其他 b***)。

由于某种原因它不起作用,我能够查看以下错误消息:

lsb_init: Failed in an LSF library call: Unable to open file lsf.conf

谷歌和手册中的一些研究并没有给出很好的结果,我做了一点测试。

我的帐户(最大)是 LSF 管理员。Root 也是 LSF 管理员。

所以我切换到 root,并尝试启动 bjob​​s,但使用 'sudo -u max' 是最大的。请看一下这些命令:

hn[~]=> whoami
max
hn[~]=> bjobs
No unfinished job found
hn[~]=> su
Password: 
[root@hn max]# whoami
root
[root@hn max]# sudo -u max whoami
max
[root@hn max]# bjobs
No unfinished job found
[root@hn max]# sudo -u max bjobs
lsb_init: Failed in an LSF library call: Unable to open file lsf.conf

我该如何纠正?

4

2 回答 2

4

默认情况下,LSF 将在 /etc 中查找 lsf.conf。如果它不存在,那么它将在环境变量 LSF_ENVDIR 中的目录中查找。

sudo 可能正在重置您的环境。尝试sudo -i或投入

Defaults !env_reset

在您的 sudoers 文件中。

你也可以试试这样的

sudo -u max LSF_ENVDIR=$LSF_ENVDIR LSF_SERVERDIR=$LSF_SERVERDIR bjobs
于 2012-12-21T23:15:09.353 回答
0

对于围绕 SSH 编写脚本的任何人,必须在命令行上显式设置上述两个变量,如下所示:

ssh foo@bar.net 'export LSF_ENVDIR=/path/to/lsf/envdir; export LSF_SERVERDIR=/path/to/lsf/serverdir; bsub ...'

或在文件~/.ssh/environment文件中(前提是 sshd 配置了PermitUserEnvironment yes)。

于 2013-10-24T12:58:09.500 回答