在父进程中运行单独的进程

时间:2015-03-17 23:06:30

标签: c linux exec fork

我正在创建一个使用fork()创建子进程的父进程,然后创建一个父进程和子进程都可以访问的共享内存块。我使用WIN32 api创建了子进程(通过创建几个.exe文件并运行它们然后使用createProcess()函数调用它们),但是我对linux的步骤有点不确定。

我创建了一个包含子代码的单独C文件。我假设我将使用fork创建子进程,然后在子进程(pid == 0)中使用exec()命令来调用另一个C文件?我需要先运行另一个文件吗?或者它可以只是坐在同一个目录中?

感谢任何帮助

由于

1 个答案:

答案 0 :(得分:0)

在fork()之后,有两个进程,父进程和子进程。父进程中的fork系统调用返回子进程的进程ID。在子进程中,fork()返回0.因此,如果fork()的返回值为零,则可以使用子进程的程序的可执行文件名调用exec系统调用。