2012-05-15 3 views
0

LSF에서 사용할 수있는 메모리 리소스 할당 명령을 사용하려고합니다. 명령 정상적인 포맷이다잘못된 리소스 요구 사항 구문 오류

BSUB의 -R "만일 rusage [MEM = 1000]"슬립 100S

I 단말로부터 직접 명령을 실행할 때 작동한다. 스크립트에서이 명령을 사용하면 실패합니다.

#! /bin/csh -f 

set cktsim_memory = $1 
set tmp = "|rusage [mem = $cktsim_memory]|" #method2 
set tmp = `echo $tmp | sed 's/ =/=/g'` #method2 
set tmp = `echo $tmp | sed 's/|/"/g' ` 
set bsub_option = "" 
set bsub_option = ("$bsub_option" "-R" "$tmp") #method2 
set cmd = "bsub $bsub_option sleep 100s" 
echo $cmd 
$cmd 

그것의 실행의 출력은 다음과 같습니다 : 당신이 BSUB 명령이 스크립트에서 실행하면 전술 터미널 출력에서 ​​볼 수 있듯이

>./cktsim_memory_test 100 
bsub -R "rusage [mem= 100]" sleep 100s 
Bad resource requirement syntax. Job not submitted. 
>bsub -R "rusage [mem= 100]" sleep 100s 
Job <99775> is submitted to default queue <medium>. 

, 그것은 실패, 여기

내 스크립트입니다 터미널에서 실행 한 동일한 명령이 정상입니다 ...

문제를 디버깅하는 데 도움주세요.

답변

0
set cktsim_memory = $1 
set temp = "'rusage [mem = $cktsim_memory]'" #method2 
set temp = `echo $temp | sed 's/ =/=/g'` #method2 
set bsub_option = ("$bsub_option" "-R" "$temp")