Я работаю над slurm-кластером, где выполняю несколько заданий. Мне сложно проверять задания по одному в каждом каталоге.
Мне удалось проверить, в каком каталоге выполняются задания, используя
scontrol show job JOB_ID
Эта команда дает мне несколько строк на выходе. Некоторые из них перечислены ниже
OverSubscribe=OK Contiguous=0 Licenses=(null) Network=(null)
Command=/home/astha/vt-st/scf-test/303030/49/qsub.job
WorkDir=/home/astha/vt-st/scf-test/303030/49
StdErr=/home/astha/vt-st/scf-test/303030/49/qsub.job.e1205
StdIn=/dev/null
StdOut=/home/astha/vt-st/scf-test/303030/49/qsub.job.o1205
Power=
MailUser=(null) MailType=NONE
Где WorkDir (это пример, путь будет отличаться для каждого задания) из приведенного выше вывода - это каталог, в который я хочу переключиться.
тогда
cd /home/astha/vt-st/scf-test/303030/49
Но от набора этих длинных команд мои пальцы плачут.
Я попытался создать небольшой скрипт на Python для печати задания scontrol show
# Try block
try:
# Take a number
print("scontrol show job")
# Exception block
except (ValueError):
# Print error message
print("Enter a numeric value")
Но затем, как мне его улучшить, чтобы он взял мой заданный входной номер, а затем grep WorkDir из выходных данных и сменил каталог.
Большое Вам спасибо.