2014-11-03 2 views
2

표준 출력에 전체 톤을 생성하는 라이브러리를 사용하고 있습니다. (실제로 코드에서 직접 출력을 억제 할 방법이 없으며 ROOT의 Minuit2 최소화 기가 있습니다. 출력을 억제하는 방법이없는 것으로 알려져 있습니다). LSF 시스템을 통해 배치 작업을 실행 중이며 오류 출력 파일이 너무 커서 디스크 할당량을 초과합니다. Erk. 이 위대한 작품을 here. 을 수행 한,LSF 일괄 처리 작업에서 grep -v를 통해 표준 오류를 리디렉션

python main.py 2> >(grep -v Minuit2 2>&1) 

출력을 억제하지만, 불행하게도 나는 그 또는 변화를 얻을 수없는 것 : 나는 쉘에서 로컬로 실행하면

, 내가 할 그것은 LSF에서 실행될 때 작동합니다. LSF가 필요한 하위 쉘을 생성하지 않기 때문에 발생했다고 생각 합니다만 명확하지 않습니다.

제출 스크립트 LSF를 전달하여 일괄 처리를 실행합니다. 관련 라인은 다음과 같습니다 거대한 오류 파일의 전술 문제를 제외하고, 좋은 작품

python main.py $INPUT_FILE 

. 내가

python main.py $INPUT_FILE 2> >(grep -v Minuit2 2>&1) 

에 그 라인을 변경하려고 할 때

나는 오류 로그 파일에

./singleSubmit.sh: line 16: syntax error near unexpected token `>' 
./singleSubmit.sh: line 16: `python $MAIN $1 2> >(grep -v Minuit2 2>&1)' 

와 끝까지.

내가 원하는 것을 어떻게 달성 할 수 있었는지, 또는 이것이 작동하지 않는 이유는 무엇입니까?

감사합니다.

+0

으로 변경해보십시오. 그런데 LSF가 이러한 명령을 실행하는 셸을 검사했습니다. 로컬에서 사용하는 것과 동일한 tcsh입니다. –

답변

1

사용중인 구문은 csh/tcsh가 아닌 bash에서 작동합니다. 제출 스크립트의 첫 번째 줄을

#!/bin/bash 
+0

허. 나는 그것을 시도했다고 생각했다. 도와 주셔서 대단히 감사합니다 !! :) –

+1

호기심 때문에, 왜'python main.py $ INPUT_FILE 2>> (grep -v Minuit2 2> & 1)'가 대화 형 tcsh에서 작동합니까? 같은 오류가 발생하지 않아야합니까? –

+0

나는 그것이해야한다고 생각하지 않기 때문에 좋은 질문입니다. 나는 대화식으로 tcsh를 실행 중이고 작동하지 못한다. 오류 메시지는 "리디렉션에 대한 누락 된 이름"이다. – Squirrel

관련 문제