Проверьте путь к запущенному скрипту в планировщике заданий 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: «find», «cat» и «grep», но я хотел бы знать, есть ли способ получить это напрямую из команд PBS.

Старый вопрос: (к вашему сведению) Также я знаю, что имя задается внутри файла с переменной

#SBATCH -J script_name      

Поэтому я попытался найти его с помощью «find», «cat» и «grep»:

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

#SBATCH -J script_name

Но, конечно, я получаю именно эту строку с этой командой

Есть ли способ получить имя/путь файла, которому принадлежит часть файла "grep-ed"?

Есть ли команда, чтобы сделать это с помощью команд PBS (мне бы хотелось узнать, как это сделать с помощью команд «find», «cat» и «grep»)


person Joshua Salazar    schedule 05.01.2020    source источник
comment
Мне удалось получить имя файла, используя grep -l 'script_name' $(find . -name '*.sh')   -  person Joshua Salazar    schedule 07.01.2020


Ответы (1)


Я не слишком уверен, какой диспетчер рабочей нагрузки вы используете. Упомянутые вами команды и добавленный вами тег указывают на PBS, но «SBATCH» в вашем сценарии означает, что вы используете SLURM.

Я могу вам сказать, что в случае сценария задания PBS почти всегда находится в каком-то каталоге в каталоге PBS_HOME на хосте выполнения. Вы можете найти путь к PBS_HOME в /etc/pbs.conf. Каталог задания является защищенным корневым каталогом, поэтому, если вы не являетесь пользователем root, вы не можете видеть его содержимое.

Имя сценария не является именем сценария, который вы указываете в утилите командной строки qsub. Скорее, он назван в честь идентификатора задания, который вы получаете из qsub, и имеет суффикс «.SC».

Например, если qsub job.sh дает вам идентификатор задания «7557.host1», тогда сценарий задания называется «7557.host1.SC».

person wabbit    schedule 07.01.2020