Не получается создать независимый процесс двойник методами WinApi.
Использую метод CreateProcess(...) при этом запускается новый процесс но если его закрыть то закрывается и родитель.
А нужно что бы состояние не влияло друг на друга
Вот код:
int main() {
    int a;
    STARTUPINFO si;
    PROCESS_INFORMATION pi;
    ZeroMemory(&si, sizeof(si));
    si.cb = sizeof(si);
    ZeroMemory(&pi, sizeof(pi));
    si.wShowWindow = SW_HIDE;
    si.dwFlags = STARTF_USEPOSITION | STARTF_USESIZE;
    char szFileName[FILENAME_MAX];
    szFileName[0] = '\0';
    GetModuleFileName(NULL, szFileName, FILENAME_MAX);
    std::cout << "enter - ";
    std::cin >> a;
    if (a == 1) {
        CreateProcess(szFileName, NULL, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi);
        WaitForSingleObject(pi.hProcess, INFINITE);
        CloseHandle(pi.hProcess);
        CloseHandle(pi.hThread);
    } else
        std::cout << "Shh";
    return 0;
}