Сохранение идентификатора задания при отправке сгенерированных на Perl сценариев в SGE - PullRequest
1 голос
/ 26 апреля 2011

Perl не может открыть командные каналы, которые выполняются как внутри, так и снаружи, что вызывает проблему при отправке в SGE через qsub, потому что я теряю идентификатор задания моей отправки. Как я могу отправить сгенерированный скрипт в SGE и захватить идентификатор задания, который SGE назначает ему?

1 Ответ

5 голосов
/ 27 апреля 2011

Часто задаваемые вопросы по Perl: Как открыть канал как для команды, так и для команды? (Краткий ответ: см. IPC::Open2)

Другойподход заключается в использовании средств перенаправления ввода-вывода в вашей оболочке для захвата вывода вашей внешней программы:

open my $qsub_proc, '|-', "qsub $command $args > some/file";
print {$qsub_proc} $the_input_to_the_command;
close $qsub_proc;

open my $qsub_fh, '<', 'some/file';
my @qsub_output = <$qsub_fh>;
... # now parse @qsub_output to get your job id
...