2012-01-06 3 views
2

Я вызываю пакет, который вызывает другую «банку», которая отправляет сообщения на сервер, и в конце концов пишет отчет, время исполнения меняется изо дня в день, а размер вход, используемый в пакетном воздействии на.Мониторинг командного файла с java

Я хотел бы контролировать, когда партия автоматически закрывается, так что я могу сделать свою оригинальную баночку, чтобы читать журнал ...

Я звоню его как этот

Process prog = Runtime.getRuntime().exec("cmd /c start C:\\chamados\\corretorRota\\VerificarNumero.bat"); 

и партии :

cd C:\chamados\corretorRota 
java -jar BatchDispatcher.jar brux0043 5873 gcpn-rota.txt > resultado.txt 
exit 

(FYI brux0043 = сервер, порт 5873 = gcpn-Rota = входной файл writed ранее) (партия держит открытой Util конца вызываемой банки)

+2

Не должен работать prog.waitFor() для вас здесь? – Danny

+0

@ Danny напишите это в ответ, чтобы получить очки реплики. –

ответ

1

Вы можете написать журнал с меткой времени, когда был запущен командный файл.

поставить эту строку в пакетном файле

echo. |time |find "current" >> log 

это будет затем записать метку времени, когда командный файл был запущен в журнал. Кроме того, перед выполнением командного файла должен быть файл с именем log.

Теперь ваша программа java может отслеживать журнал и знать, сколько раз и когда пакетный файл был выполнен.

1

Вы должны использовать

prog.waitFor() 

ждать завершения процесса исполнения.

Смежные вопросы