Ejemplo n.º 1
0
int launch(int argc, char *argv[])
     { printf("Parsed:]\n");

     for(int i=0; i<argc; i++)
        printf("\t%s\n",argv[i]);

        printf("DONE\n\n");

 

     pid_t child;
     child = fork();
     if (child == -1){          //Fail
          int k;
          logerror(k = 10, "Child", "Failed Fork");
          _exit(EXIT_FAILURE);
  	  return -1; 		//return -1 on fail: Child
     }

     else if (child == 0){      //Success
         childprocess(argv);	//call child execute
     }
       
 
     else{       		  //Parent process
          parentprocess();	  //call parent wait    
     }         

	
     return 0; //return on normal exit
}
Ejemplo n.º 2
0
main()
{
	char filename[20],buff[1000];
	int fd,n,i,j,array[100],m=1;
	printf("Enter filename:");
	scanf("%s",filename);
	fd=open(filename,O_RDONLY);
	n=read(fd,buff,1000);
	for(i=0;i<100;i++)
	{array[i]=0;}
	i=0;
	for(j=0;j<n;)
	{
		if(buff[j]!=' ')
		{	
			switch(buff[j])
			{
				case '0': 
					array[i]=array[i]*10; 
					break;
				case '1': 
					array[i]=array[i]*10+1; 
					break;
				case '2': 
					array[i]=array[i]*10+2; 
					break;
 				case '3': 
					array[i]=array[i]*10+3; 
					break;
				case '4': 
					array[i]=array[i]*10+4; 
					break;
				case '5': 
					array[i]=array[i]*10+5; 
					break;
				case '6': 
					array[i]=array[i]*10+6; 
					break;
				case '7': 
					array[i]=array[i]*10+7; 
					break;
				case '8': 
					array[i]=array[i]*10+8; 
					break;
				case '9': 
					array[i]=array[i]*10+9; 
					break;
			}
		}
		else
		{	m++;
			i++;
		}
		j++;
	}
	pid=fork();
	if(pid==0)
	childprocess(m,array);
	else
	parentprocess(m,array);
	close(fd);
}