複製當前進程以在Windows中產生另一個實例的最簡單方法是什麼?我知道Linux有fork()
,但我需要的只是在同一個進程中再次運行main,可能使用CreateProcess()
以及正確的參數。如何複製當前進程?
1
A
回答
1
由於@DavidHeffernan評論:
STARTUPINFO si;
::memset(&si, 0, sizeof(si));
si.cb = sizeof(si);
PROCESS_INFORMATION pi;
::CreateProcess(NULL, ::GetCommandLine(), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
0
Cygwin implements fork()
其管理的環境中,但即使是在讓孩子趕上家長準確地複製POSIX行爲的複雜的廣場舞。
看起來你不需要效仿fork()
,而是fork()
/exec()
。爲此,收集環境變量,程序參數並將它們傳遞給CreateProcess()
應該足夠了。有一些選項可以將文件描述符複製到孩子身上。見CreateProcess
的documentation。
相關問題
- 1. Visual Studio 2017 - 如何複製當前行?
- 2. 如何確定進程句柄是否是當前進程?
- 3. 如何在Erlang shell中獲取當前進程的進程ID?
- 4. 替換當前進程
- 5. Node.js和chrooting當前進程
- 6. C#:找到當前進程
- 7. 當視圖重新進入前景時恢復繪製CAShapeLayer?
- 8. 獲取當前文本框以進行復制/粘貼
- 9. Stacktrace/Stackwalk爲當前進程和當前線程與IDebug接口
- 10. 複製堆棧的一部分,使用mmap把它映射到當前進程
- 11. 如何在.NET中檢測當前進程/線程匱乏
- 12. 如何獲取FreeBSD上當前進程的線程數?
- 13. 如何獲取當前進程的線程ID列表
- 14. 如何終止與當前進程名每一道工序,除了當前進程
- 15. 如何將當前運行的程序集複製到Windows啓動
- 16. 如何通過進程ID控制當前正在運行的PowerPoint實例?
- 17. 如何確定進程是否爲當前活動/前臺應用程序
- 18. 如何複製專注於oracle表單的當前記錄?
- 19. 如何複製當前的活動瀏覽器網址?
- 20. 如何將當前路徑複製到剪貼板?
- 21. 如何將當前og:url複製到FB評論的數據href
- 22. 如何在記事本++中複製當前行?
- 23. 如何從當前URI複製參數到重定向URI?
- 24. 如何在Idea中複製當前行號?
- 25. 如何在vi中從當前位置複製到行尾
- 26. 如何複製Visual Studio的當前行號
- 27. 如何在Buddypress中複製/獲取當前用戶通知
- 28. 二進制分類器的當前輸入對如何?
- 29. fork()調用,複製進程
- 30. 複製當前文本行的AppleScript?
'system(argv [0])'? :D(如果我的意圖是正確的。) – Xeo
如果我從'WinMain'運行怎麼辦?我可以簡單地拆分'lpCmdLine'並運行'system',還是我需要在控制檯子系統中?不,意識到它不會工作,因爲我不希望任何控制檯窗口出現。 –
調用'GetCommandLine'並將其傳遞給'CreateProcess' –