Sunday 10 July 2016

execlp Example | Operating System Programming

execlp Example | Operating System Programming


#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<errno.h>
#include<string.h>
#include<sys/types.h>

void main()
{  
   int i,j,k,count;
   char input[20], *arguments[6];
   while(1){
     
      printf("Enter the Argument [Enter 'q' to Quit]\n");
      gets(input);

      if(input[0]=='q')
         return;     

      pid_t pid;
      pid=fork();

      if(pid<0){
          fprintf(stderr,"cant fork error",errno);
          exit(-1);
      }  
      else if(pid==0){

          for(i=0;i<6;i++)
             arguments[i]=NULL;
          i=0,j=0,k=0;

          while(input[i]!='\0'){
             arguments[j]= malloc(10);

             for(k=0;input[i]!=' '&&input[i]!='\0';i++,k++)
                arguments[j][k]=input[i];

             arguments[j][k]='\0';
             if(input[i]=='\0')
                break;
             i++;
             j++;
          }
         
          //for(i=0;i<6;i++)
           //   printf("%s\n",arguments[i]);

           execlp(arguments[0],arguments[0],arguments[1],
           arguments[2],arguments[3],arguments[4],arguments[5]);
      }

      else{
          wait(NULL);
          printf("Command Executed\n");
      }
   }
}


No comments

Post a Comment

Recent Posts