多进程的创建

利用fork函数创建多进程

调用fork函数:子进程复制父进程的地址空间,但是子进程的进程号还有定时器自己独有
fork函数()用于从已有的进程创建新的进程,
创建成功子进程中返回0,失败返回-1.

	#icnlude <unistd.h>
	#include <sys/types.h>
	#include <sys/wait.h>
	#include <sysy/stat.h>
	#include <fcntl.h>
	#include <string.h>
	int main(int argc,char *argv[])
	{
		//创建两个子进程
		int i = 0;
		for (i = 0 ; i < 2 ; i++;)
		{
			pid_t pid = fork();
			if(pid == 0)
				break;
		}
		if(i == 0)//子进程1
		{
			
		}
		else if(i == 1)//子进程2
		{

		}
		else if(i == 2)//父进程
		{
			//回收子进程资源
			while(1)
			{
				pid_t pid = waitpid(-1,NULL,WNOHANG);
				if(pid>0)
				{
					printf("子进程退出了\n");
				}
				else if(pid == 0)
				{
					continus;
				}
				else if(pid == -1)
				{
					break;
				}
			}
		}
		return 0;
	}

发布了19 篇原创文章 · 获赞 21 · 访问量 1263

猜你喜欢

转载自blog.csdn.net/lj19990824/article/details/103801931