有没有什么办法可以让一个线程分支进入它自己的独立进程?我知道有CreateProcess函数,但据我所知,您只能使用它运行外部应用程序。我一直在要求什么?C++线程来分离进程
1
A
回答
3
这在Windows下是不可能的。在Posix平台上,预期的效果可以通过fork()
获得。
3
这是可能的。
您可以使用虚拟应用程序和CREATE_SUSPENDED标志调用CreateProcess,以免它立即运行。然后,您可以使用VirtualAllocEx在创建的进程中分配内存空间,并使用WriteProcessMemory将代码和数据写入其中。然后取消暂停过程来运行它。
您也可以使用CreateRemoteThread创建在另一个现有进程的上下文中运行的进程。
所以你想要做什么是可能,但在Windows环境下做真的不是一件简单的事情,所以你必须有一个很好的理由才能做到这一点。
相关问题
- 1. C++ 11线程分离
- 2. 分离线程
- 3. 醒来睡觉分离java进程
- 4. 不能分离线程永远C++
- 5. 如何关闭线程分离C++?
- 6. 如何在Windows C++上分离线程
- 7. 分离线程的线程库清理
- 8. C++ 11在分离线程中创建新线程
- 9. 等待分离的线程来完成在C++
- 10. pjsip c#,System.AccessViolationException在分离线程上应答来电时
- 11. Java线程调度分离
- 12. perl线程自我分离
- 13. 将任务分离到新的Java线程与新的进程
- 14. Windows C++进程与线程
- 15. PHP页面进程分离
- 16. cgroups隔离(分离组进程)
- 17. 安全出口程序Win32的C++从分离的std ::线程
- 18. Java进程崩溃 - 需要帮助来分析线程转储
- 19. Linux时间分割进程或线程
- 20. 分析java进程的线程转储
- 21. 获取一个std ::线程来分离和终止自己
- 22. C多线程来源
- 23. 分离的线程执行结束
- 24. 分离/解耦AsyncTask和UI线程
- 25. Qt4/Opengl bindTexture在分离线程中
- 26. 分离JRuby中线程的内存
- 27. 中断分离的boost ::线程
- 28. 线程创建(分离)从未执行
- 29. 如何分离CGI中的线程?
- 30. 从线程中分离对象
'fork()'不能在Windows上工作吗? – sbi 2010-04-11 19:03:45
我相信Cygwin提供了一个实现,同样由Jed Smith给出的答案比我的更具有洞察力:http://stackoverflow.com/questions/1814903/running-fork2-from-windows-with-cygwin-possible – 2010-04-11 19:05:46
The Windows内核知道如何“fork()”,但据我所知,这不能通过Win32接口直接访问。您必须使用其他API,例如“Services for Unix”(http://technet.microsoft.com/en-us/library/bb496506.aspx)或Cygwin(http://www.cygwin.com/)。 – 2010-04-11 19:08:31