CommandRunner 유틸리티 작업 단계
쉘 명령행을 작업 단계로서 실행하려면 CommandRunner 유틸리티 작업 단계를 사용하십시오. 쉘 명령행은 쉘 명령, 쉘 스크립트 및 컴파일된 프로그램을 포함할 수 있습니다.
CommandRunner 유틸리티는 운영 체제 프로세스에서 지정된 쉘 명령행을 실행합니다. 표준 출력 및 표준 오류 스트림이 캡처되고 작업 로그에 기록됩니다. 명령행 리턴 코드가 캡처되고 단계 리턴 코드로 설정됩니다. 작업 단계가 취소되면 리턴 코드는 -8입니다.
명령 구문
CommandRunner 유틸리티에
대해 다음 구문을 사용하십시오.
<job-step name={step_name}>
<classname>com.ibm.websphere.batch.utility.CommandRunner</classname>
{job_step_properties}
</job-step>
예를 들어 다음 작업 단계 코드는
명령행 Java™ 프로그램을 실행합니다.
<job-step name="RunJava">
<classname>com.ibm.websphere.batch.utility.CommandRunner</classname>
<props>
<prop name="com.ibm.websphere.batch.cmdLine"
value="java.exe com.ibm.websphere.batch.samples.TestCase" />
<prop name="CLASSPATH" value="${user.dir}\testcases;${user.dir}\bin" />
<prop name="Path" value="${java.home}\bin;${env:Path}" />
</props>
</job-step>
필수 작업 단계 특성
다음
특성이 CommandRunner 유틸리티 작업 단계에 필요합니다.
- com.ibm.websphere.batch.cmdLine
- 인수를 포함한 명령행 호출을 지정합니다. 예를 들어 java.exe 파일을 명령행으로 실행하십시오.
<prop name="com.ibm.websphere.batch.cmdLine" value="java.exe com.ibm.websphere.batch.samples.TestCase" />
선택적 작업 단계 특성
다음
특성은 CommandRunner 유틸리티 작업 단계에 대해 선택사항입니다.
- com.ibm.websphere.batch.workingDir
- 지정된 명령행이 실행하는 작업 디렉토리를
지정합니다. 예를 들어, /tmp를 Linux에서 작업 디렉토리로 사용 가능하게 하십시오.
<prop name="com.ibm.websphere.batch.workingDir" value="/tmp" />
기본값은 정의되지 않습니다.
- com.ibm.websphere.batch.debug
- 명령행이 디버그 모드에서 실행하는지 여부를 표시하는
true 또는 false를 지정합니다. 디버그
모드는 디버그 메시지를 인쇄하여 변수 대체에 관한 문제점 및
명령행이 올바르게 실행하지 못하게 하는 기타 문제 해결을 도와줍니다. 예를 들어 디버그 모드를 사용으로 설정하십시오.
<prop name="com.ibm.websphere.batch.debug" value="true" />
기본값은 false입니다.
- com.ibm.websphere.batch.expansion
- 특성 대체라고도 하는 작업 단계 특성 확장을 사용 또는 사용 안함으로
설정하려면 true 또는 false를 지정합니다.
특성 확장에 의존하지 않는 큰 특성 맵을 갖는 단계의 경우 단계 성능을
개선하려면 이 기능을 사용 안함으로 설정하십시오. 예를 들어, 특성 확장을 사용 안함으로 설정하십시오.
<prop name="com.ibm.websphere.batch.expansion" value="false" />
기본값은 true입니다.
- com.ibm.websphere.batch.shell.executor
- 쉘 실행기 명령을 지정합니다. 사용자 정의 쉘을 사용자의
명령행 실행기로 지정하려면 이 특성을 사용하십시오. 예를 들어 사용자 정의 쉘을 fastshell로 지정하십시오.
<prop name="com.ibm.websphere.batch.shell.executor" value="fasthell" />
기본값은 com.ibm.websphere.batch.command.runner.shell.executor 시스템 특성의 값입니다.
- com.ibm.websphere.batch.shell.failure.rc
- 쉘 실행 실패 리턴 코드를 지정합니다. 이 리턴 코드는
쉘 실행기가 지정된 명령행이 실행될 수 없음을 표시하기 위해
리턴합니다. 쉘 실행기 리턴 코드가 쉘 실패 리턴 코드
값과 일치할 때, CommandRunner 유틸리티 작업이 작업 단계 리턴 코드를
com.ibm.websphere.batch.step.failure.rc 특성의 값으로
설정합니다. 예를 들어, 지정된 명령행이 실행하지 못할 때 쉘은 -1을 리턴합니다.
<prop name="com.ibm.websphere.batch.shell.failure.rc" value="-1" />
기본값은 com.ibm.websphere.batch.command.runner.shell.failure_rc 시스템 특성의 값입니다.
- com.ibm.websphere.batch.step.failure.rc
- 명령행이 실행하지 못할 때 작업 단계 리턴 코드를
지정합니다. 이 작업 단계 리턴 코드는 쉘 실행기 리턴 코드가
com.ibm.websphere.batch.shell.failure.rc의 값과 일치할 때 리턴됩니다. 예를 들어 쉘이 실행하지 못할 때 작업 단계는 -1을 리턴합니다.
<prop name="com.ibm.websphere.batch.step.failure.rc" value="-1" />
시스템 특성
모든 CommandRunner 유틸리티 시스템 특성은 선택사항입니다.- com.ibm.websphere.batch.command.runner.shell.executor
- com.ibm.websphere.batch.shell.executor 작업 단계 특성의
기본값을 지정합니다.
기본값은 cmd.exe /c입니다.
기본값은 sh –c입니다.
- com.ibm.websphere.batch.command.runner.shell.failure_rc
- com.ibm.websphere.batch.shell.failure.rc 작업 단계 특성의
기본값을 지정합니다.
기본값은 1입니다.
기본값은 127입니다.
특성 대체
CommandRunner 유틸리티 작업 단계는 확장을 위한 특성 대체를 지원합니다. 다음 예에서 보는 것처럼 xJCL 대체 특성, Java 시스템 특성, 및 프로세스 변수를 사용하여 확장을 수행할 수 있습니다.- xJCL 대체 특성
- 다음 예는 testcase.dir xJCL 대체 특성을 작업 디렉토리로서
대체합니다.
<prop name="com.ibm.websphere.batch.workingDir" value="${testcase.dir}" />
- Java 시스템 특성
- 다음 예는 CLASSPATH 프로세스 변수의 user.dir Java 시스템 특성을
대체합니다.
<prop name="CLASSPATH" value="${user.dir}/classes" />
- 프로세스 변수
- 다음 예는 PATH 프로세스 변수의 새 값에서 PATH
프로세스 변수를 대체합니다.
<prop name="PATH" value="/tmp:${env:PATH}" />
중요사항: 대체 특성은 Java 시스템 특성 목록에 표시되는 경우 Java 시스템 특성으로 취급됩니다. 그렇지 않으면 xJCL 대체 특성으로 취급됩니다. 프로세스 변수 대체는 특수한 ${env:<variable name>} 구문으로 표시됩니다.