多进程测试

截图


代码

//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;
}
``
posted @ 2022-11-10 09:01  戴骏  阅读(8)  评论(0编辑  收藏  举报