2013-04-15 1 views
0

Я пишу сценарии партии и bash для автоматизации некоторых задач веб-сферы.wsadmin jython скрипт код выхода для вызова сценария

мне нужно получить код выхода myscipt.jy обратно в вызывающий сценарий, Jython скрипт

#----------myscipt.jy----------- 
#I am testing exit status 
import sys; 
sys.exit(1) 

и пакетный скрипт

REM superduper.cmd 
profiles\myprofile\bin\wsadmin -lang jython -f myscript.jy 
echo myscript.jy exited with %ERRORLEVEL% 

Любые идеи?

ответ

0

Я использую следующий обходной путь, чтобы обойти эту проблему

Первый написать ключ/значение пары в файл из Jython

#----------myscipt.jy----------- 
#I am testing exit status 
import sys; 
logFile = open(heaplog, "w") 
logFile.write("HEAPSIZECHANGED=1") 
logFile.close() 
sys.exit(1) 

, а затем загрузить ключ/значение, окр. переменная в пакетном режиме и использовать его

FOR /F "tokens=*" %%i in ('type "%HEAPLOG%" ^| findstr /V /B #') DO SET %%i 
IF !HEAPSIZECHANGED! EQU 1 CALL :_restartServer 
0

В соответствии с изменениями в Jython V2.7 link, способ обнаружения код выхода может быть следующим.

#----------myscipt.jy----------- 
#I am testing exit status 
import os 
os._exit(1) 

и пакетный скрипт

REM superduper.cmd 
profiles\myprofile\bin\wsadmin -lang jython -f myscript.jy 
echo myscript.jy exited with %ERRORLEVEL%