让我们说我已经在不同的队列中发起了大量的xterm。现在他们都弄乱了我的屏幕,我丢失了哪一个。我想将LSF作业ID和请求的机器内存资源粘贴到xterm标题栏中。 (我知道我可以在启动时做到这一点,但我们假设我已经将所有这些xterms放在我的桌面上,并且我想在事后坚持使用标题)
我可以使用它将文本放入xterm标题:
echo -e "\033]2; You can rent this place for a commercial. \007"
我在考虑这样的事情:
get name out of uname -n
get machine resources for name out of bjobs <<== I don't know how to do that!!!
stick interesting stuff into header
run this in all my xterm.
我想摆脱bjobs的重要事情是:
我如何启动xterm的示例:
qsub -q o_cpu_128G -J Gerts -P gf104 -n 8 -m "rel57" -R "span[hosts=1]" xterm -sb
我离开bjobs的东西
bjobs
JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME
8510290 ggottsc RUN o_cpu sc-xterm-02 8*sc-sim-21 Gerts Mar 5 14:44
7347117 ggottsc RUN o_cpu sc-xterm-02 8*l-sim-156 Gerts Mar 10 11:48
9081323 ggottsc RUN o_cpu sc-xterm-02 8*l-sim-237 Gerts Mar 11 10:21
谢谢, 格特
答案 0 :(得分:0)
我假设你的'qsub'命令是bsub的包装器,以交互方式提交作业?
如果是这样,对于jobId,您应该能够查看xterm中的环境变量$ LSB_JOBID来获取它。所以你可以运行类似的东西:
echo -e "\033]2; Job ID: $LSB_JOBID \007"
将当前终端的作业ID输入标题。
对于“机器尺寸”,我不清楚你的意思。听起来你对机器的记忆感兴趣,但你可以从很多地方得到这个。根据您问题的标题,我假设您希望从您提交作业的队列名称中获取此名称(在您的示例中为o_cpu_128G)。如果是这种情况,您还应该在变量$ LSB_QUEUE下的环境中找到它,这样您就可以在xterm窗口标题中显示您的队列名称和您的jobid:
echo -e "\033]2; Job ID: $LSB_JOBID Queue: $LSB_QUEUE \007"
或者,您可以尝试通过解析/ proc / meminfo或'free -m'之类的命令输出来确定主机上的实际总/可用内存。