|
배치 파일을 쓰는 이유가 한번의 실행으로 여러개의 어플을 실행할려고 그러는지요?
만약 이 이유라면 배치 파일의 내용을 파싱하여 CreateProcess로 갯수만큼 실행후
리턴되는 핸들값을 리스트로 관리하는 겁니다.
종료할때는 리스트의 카운트만큼 TerminateProcess 함수를 이용하여...
도움이 되셨기를...
AyanamiRei 님이 쓰신 글 :
: Gangs 님이 쓰신 글 :
: : 서비스 어플리케이션에서
: : CreateProcess 로 배치 파일을 실행시켰습니다.
: : 배치 파일 내용은 몇개의 프로그램을 순서에 맞게 실행하는 것인데..
: : 소켓으로 메시지를 읽어서 STOPNOW 라는 메시지를 받으면
: : 그 프로세스를 죽이는 걸 만들고 있습니다.
: : 그런데 배치 파일을 실행하면 cmd 만 죽고 그 배치파일에서
: : 실행한 프로그램은 여전히 계속 남아있더군요..
: :
: : 따로 분리되어서 프로세스가 생성되는 것 같은데..
: : 배치파일의 핸들을 가지고 배치파일에 의해서 실행된 프로그램을
: : 강제 종료시킬만한 방법이 없을까요..
: :
: : 조언 바랍니다.
: : 감사합니다.
:
:
: 제 생각에는 CreateProcess 에서 리턴된 핸들값이랑 실행된 패치파일의
: 핸들값이랑 다를것 같습니다.
: 저두 비슷한 경험을 한적이 있는데요 인스톨쉴드를 실행하고 쉴드가 죽기를
: 기다리는걸 하는데 실제로 프로세서들을 보니 실행된 핸들과 프로그램을 깔고있는
: 프로세스의 핸들이 틀리더라구요..ㅠㅠ
:
: 우선 배치파일 실행후 새로 생긴 프로세스들을 보시고 CreatePreocess에서 리턴된
: 핸들 값과 실행되고 있는 프로세스의 핸들을 비고해 보새여
:
: 으.....지금 청량이에 있는 공용피씨로 쓰다가..ㅠㅠ 시간 종료가..쿨럭..
: 로긴 끊으려고 다시 들어 오니 벌써 끊겨 있다는...흑흐....500원 날렸다..
:
: 결론은 cmd가 부모프로세스이고 배치파일이 자식프로세스로 돌아갈지도 모른다는겁니다..
: ㅠㅠ 그럼 전 이만 친구 결혼식가러 춘천행을~~~굿럭!
|