windows和linux的进程创建 CreateProcess 和 fork

时间:2022-06-01 10:21:07

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