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