多进程测试
截图
代码
//r09
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>
#include<time.h>
int main()
{
pid_t pid=-1;
pid_t ppid=-1;
int status=-1;
pid=fork();
if(pid>0)
{
srand((unsigned int)time(NULL));
printf("偶数随机数为:%d\n",rand()*2);
printf("pid = %d\n",getpid());
printf("ppid = %d\n",getppid());
}
else if(pid==0)
{
srand((unsigned int)time(NULL));
printf("奇数随机数为:%d\n",rand()*2+1);
printf("pid = %d\n",getpid());
}
else
{
perror("fork");
return -1;
}
return 0;
}
\\R09
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#include <string.h>
int main(int argc,char *argv[])
{
char *o = "-o";
char *e = "-e";
int a;
srand((unsigned int)time(NULL));
for(int i = 0;i < 10 ;i ++)
{
if(strcmp(argv[1], o)==0)
{
a=rand()%101;
if(a%2!=0)
{
printf("奇数:%d",a);
break;
}
}
else if(strcmp(argv[1], e)==0)
{
a=rand()%101;
if(a%2==0)
{
printf("偶数:%d",a);
break;
}
//printf("%d ",rand()%101);//生成0~100之间
}
else{
printf("none!");
}
//printf("%d ",rand()%101 - 50);//生成-50~50之间
}
printf("\n");
return 0;
}
``