windows和linux的进程创建 CreateProcess 和 fork
windows下有没有 类似 fork 的函数呢?fork可以从当前 复制所有进程信息都另一个进程,然后两个进程可以执行不同的代码。
windows显然没有fork。只有CreateProcess,但是CreateProcess有很多参数:
BOOL WINAPI CreateProcess(
_In_opt_ LPCTSTR lpApplicationName,
_Inout_opt_ LPTSTR lpCommandLine,
_In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes,
_In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes,
_In_ BOOL bInheritHandles,
_In_ DWORD dwCreationFlags,
_In_opt_ LPVOID lpEnvironment,
_In_opt_ LPCTSTR lpCurrentDirectory,
_In_ LPSTARTUPINFO lpStartupInfo,
_Out_ LPPROCESS_INFORMATION lpProcessInformation
);
http://msdn.microsoft.com/en-us/library/ms682425(v=vs.85).aspx
看来用法是 指定一个 exe的路径,然后指定参数,来运行这个exe。 linux下也是有Exec类似的函数的,类似CreateProcess的。
如果 创建进程 跟 创建线程一样,指定一个函数地址,和参数,那该多好啊。。。。。。
相关资料:
[回溯本源] Unix Fork和Windows CreateProcess可以比较吗? cnblogs的页面居然404,找不到了。哎。
原来 这个文章 应该在iteye这里。
http://www.iteye.com/topic/664024
http://raylinn.iteye.com/blog/664024
------------------------------------------------------------------------------------------------
一定要专业!本博客定位于 ,C语言,C++语言,Java语言,Android开发和少量的Web开发,之前是做Web开发的,其实就是ASP维护,发现EasyASP这个好框架,对前端后端数据库 都很感觉亲切啊。. linux,总之后台开发多一点。以后也愿意学习 cocos2d-x 游戏客户端的开发。