如何在LSF上启动命令的完整路径

时间:2016-06-14 09:17:12

标签: linux lsf

用户已使用bsub在LSF上启动了作业。从jobId,我可以知道哪个命令已被执行,但无法确定该命令的完整路径

Job <270090>, User <abhkumar>, Project <default>, 
Interactive pseudo-terminal mode, Command <virtuoso>

有找到它的方法吗?或使用该命令的PATH变量?

2 个答案:

答案 0 :(得分:0)

这是件事。但它有点乱。

[mclosson@host ~]$ bjobs -l 806

Job <806>, User <mclosson>, Project <default>, Status <RUN>, Queue <normal>, Co
                 mmand <sleep 100000>, Share group charged </mclosson>
Thu Jul  7 15:58:18: Submitted from host <host>, CWD <$HOME>;
Thu Jul  7 15:58:19: Started 1 Task(s) on Host(s) <host>, Allocated 1 Slot(s
                 ) on Host(s) <host>, Execution Home </home/mclosson>, E
                 xecution CWD </home/mclosson>;
Thu Jul  7 15:58:20: Resource usage collected.
                 MEM: 5 Mbytes;  SWAP: 0 Mbytes;  NTHREAD: 4
                 PGID: 11125;  PIDs: 11125 11127 **11129** 


[mclosson@host ~]$ bjobs -o pids 806
PIDS
11125,11127,**11129**


[mclosson@host ~]$ ls -l /proc/**11129**/exe
lrwxrwxrwx 1 mclosson lsf 0 Jul  7 15:59 /proc/11129/exe -> /bin/sleep

它很混乱,因为从bjobs -l解析出作业PID是混乱的。解析bjobs -o pids更容易。该命令可能始终是第三个pid。第一个是作业res,第二个是作业脚本。如果该命令启动其他命令,那么这些命令也会出现。我怀疑由于与各种LSF特征(例如,cgroups,pim,blaunch)的交互,pid的顺序保证不会改变。告诫者。

它也很混乱,因为你必须ssh到执行主机并检查proc文件系统。只有root或作业执行用户才能访问/ proc进行该特定进程。

答案 1 :(得分:0)

您可以使用以下内容来隔离您想要的内容:

bjobs -o 'command' [job_ID]

请参阅bsub联机帮助页中的部分:

bjobs -o "field_name[:[-][output_width]] ... [delimiter='character']"

表1包含您可以查询的所有可能的输出字段。

如果您使用-noheader,则可以删除除所需字段之外的所有输出。