如何创建子进程

2025-03-04 01:33:59
推荐回答(1个)
回答1:

#include
#include
pid_t fork(void); 创建子进程。pid_t是int。如果成功,则返回子进程的PID给父进程,同时返回0给子进程。如果失败,则返回-1。
子进程是父进程的拷贝(据说linux内核是copy text segment、stack segment和heap segment,共享text segment,为了提高效率,开始也并不复制,直到父进程或者子进程修改内存内容时才复制)。子进程继承了共享父进程在调用fork之前打开的socket。这样就可以实现并发服务器,子进程去处理这个客户端的连接,而服务器接着做其它事情。
例如:
pid = fork();
if(pid == 0){
/*子进程中执行这个语句块,因为返回值为0,说明是在子进程上下文中*/
}