Java 응용 프로그램에 대한 작은 종료 스크립트를 작성 중입니다. 나는 PID를 얻을 후 다음을 수행하십시오 :taskkill : 다른 동작 콘솔 대 스크립트
taskkill /t /pid !pid!
내가 콘솔에서 명령을 실행하고 있다면 모든 것이 잘 작동 (손으로 입력). 나는 자바 콘솔에서 실행되는 종료 루틴을보고 나중에 자바 콘솔은 사라진다. 가끔 "프로세스가 응답하지 않습니다. 잠시 기다리십시오."또는 "잠깐 기다려주십시오."대화 상자가 나타나지만 대화 상자는 Java 프로그램이 중단 될 때 자동으로 닫힙니다.
같은 명령으로 박쥐 파일을 실행하면 "프로세스가 응답하지 않습니다 ..."대화 상자가 나타납니다. 콘솔 출력을 봅니다 : "프로세스가 성공적으로 종료되었습니다."하지만 Java 콘솔이 아직 열려 있습니다. 그것은 심지어 종료 시퀀스를 시작하지 않았다.
편집 : 지연 확장이 비활성화 만 레지스트리 EY 또는 cmd /V:on
활성화 할 수있는 명령 줄 !pid!
에 전체 배치 스크립트
@echo off
setlocal enabledelayedexpansion
if exist .\lock (
set /p pid=< lock
taskkill /t /pid !pid!
)
후 에코를 추가해야합니다. – adarshr
님이 질문에 답변을 추가했습니다. – Nicolas