多進程的創建

利用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;
	}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章