2
코드를 통해 응용 프로그램을 다시 시작해야하며 배치 파일을 사용하도록 선택했습니다.배치를 사용하여 C++ 콘솔 응용 프로그램을 다시 시작해도 네트워크 연결이 닫히지 않음
taskkill /f /im AudioService.exe
TIMEOUT 10
start "AudioService" "AudioService.exe"
그때 나는 (Poco Library를 사용하여) 코드에서 호출 : 응용 프로그램은이 같은 일괄 생성이 시작되면이 사실을 제외하고 작동합니다, 지금
Poco::Process::Args args;
Poco::Process::launch(RESTART_SCRIPT_NAME, args);
을 그 네트워크 연결 응용 프로그램이 다시 시작될 때 Bind() 함수는 실패합니다.
대신 "수동"탐색기에서 파일을 실행하면 예상대로 작동합니다. 응용 프로그램과 네트워크 연결이 끊어집니다.
누군가 이런 일이 발생하는 이유에 대해 힌트를 줄 수 있습니까?
응용 프로그램에 적절한 종료 메커니즘을 구축 정리 보장 할 수 있도록 핸들러가 무엇인지 신호를 찾아 볼 수도 있습니다. 예를 들어, 이벤트 객체를 생성하고 설정이 끝나면 정상적으로 종료 한 다음 이벤트 객체를 설정하는'/ shutdown' 명령 행 옵션을 제공 할 수 있습니다. –