Мне нужно запустить процесс и запустить его как отдельный процесс. У меня есть какое-то стартовое приложение, целью которого является запуск другого exe и немедленный выход. Каков наилучший способ достичь этого?Начать процесс не как ребенок
Я читал CreateProcess
документацию несколько раз, но у меня остались вопросы. Документация говорит, что мне нужно позвонить CloseHandle
после того, как я закончу. Но мое родительское приложение не должно ждать выхода ребенка. Другая часть документации говорит о том, что я могу оставить только ручки - система закроет их, когда родительский процесс завершится. Означает ли это, что дочернее приложение выходит сразу после родителя? Кажется, это не так - я закрываю стартер, но мой дочерний процесс все еще работает.
Есть DETACHED_PROCESS
флаг, который кажется тем, что я ищу. Но документация говорит о консоли. Какая консоль? Меня не интересует консоль.
Вызов 'CloseHandle' на дескрипторе процесса не завершает процесс. Он просто закрывает ваш дескриптор объекту процесса. Объект процесса все еще существует и будет продолжать свою работу. Итак, вызовите 'CreateProcess', а затем завершите процесс запуска. Если хотите, вызовите 'CloseHandle' на две ручки. Или нет, и система будет их убирать. –