检查 PBS 作业计划程序上运行的脚本的路径



我想检查当前在我的 HPC 平台上运行的脚本在哪里。我知道我可以使用命令qsub获取作业的名称,该命令提示:

            Req'd  Req'd  
Job id               Username Queue    Name                 SessID NDS   TSK   Memory Time Us
-------------------- -------- -------- -------------------- ------ ----- ----- ------ ----- -
123456               xxxxx    xxxxxx    script_name         --         5   120     -- 72:00 R

更新:我设法使用 UNIX 命令:"查找"、"猫"和"grep"来完成它,但我想知道是否有办法直接从 PBS 命令获取它。

老问题:(供您参考(另外,我知道名称是使用变量在文件中设置

#SBATCH -J script_name      

所以我试图使用"find","cat"和"grep"来寻找它:

$ cat $(find . -name '*.sh') | grep script_name
#SBATCH -J script_name

但是,当然,我只是用那个命令得到那一行

有没有办法获取拥有"grep-ed"文件部分的文件的名称/路径?

是否有一个命令可以使用PBS命令来做到这一点(我很想知道如何使用"查找","猫"和"grep"命令来获取它(

我不太确定您运行的是哪个工作负载管理器。您提到的命令和添加的标记指向 PBS,但脚本中的"SBATCH"表示您正在使用 SLURM。

我可以告诉你,在PBS的情况下,作业脚本几乎总是在执行主机上PBS_HOME目录下的某个目录中。你可以在/etc/pbs.conf 中找到PBS_HOME的路径。作业目录是受根保护的目录,因此除非您是根目录,否则无法看到内容。

脚本名称不是您在 qsub 命令行实用程序中提供的脚本的名称。相反,它以您从 qsub 中获取的作业 ID 命名,并以".南卡罗来纳州"。

例如,如果qsub job.sh为您提供作业 ID "7557.host1",则作业脚本命名为"7557.host1.SC"。

最新更新