У меня есть perl-код, в котором я параллельно отправляю несколько заданий с помощью команды LSF bsub, и после завершения всех этих заданий я хочу отправить окончательное задание.
Например, у меня есть эти три команды bsub, где первые две команды bsub отправляют задания t1 и t2, а третья команда проверяет, завершены ли t1 и t2 или нет, и ждет их с аргументом -w.
system(" bsub -E "xyz" -n 1 -q queueType -J t1 sleep 30")
system("bsub -E "xyz" -n 1 -q queueType -J t2 sleep 30")
system("bsub -E "xyz" -n 1 -q queueType -J t3 -w "done(t1)&&done(t2)" sleep 30")
Итак, для автоматизации аргумента -w у меня есть это
my $count=2;
my $i;
system(" bsub -E "xyz" -n 1 -q queueType -J t3 \"foreach my $i (0..$count) {print " done(t_$i)&&";}\" sleep 30 ")
Я получаю эту ошибку:
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `bsub -E "/pkg/ice/sysadmin/bin/linux-pre-exec" -n 1 -q short -J t3 -w "foreach (0..7) {print \"done(t)&&\";}" sleep 30'
РЕДАКТИРОВАТЬ: Да, я использую системную команду для отправки этих заданий из perl
sh
? Если да, то почему? С другой стороны, эта третья строка не похожа на Perl. Что здесь происходит? - person melpomene   schedule 05.08.2019bsub
из скрипта Perl с помощью So для автоматизации...? - person zdim   schedule 05.08.2019