250+ TOP MCQs on Named and Un-named Pipe Calls and Answers

Linux Debugging questions and answers focuses on Named and Un-named Pipe Calls.1. What is the output of this program?

  1.    #include
  2.    #include
  3. 
    
  4.    int main()
  5.    {
  6.        int fd[2];
  7.        int count;
  8.        char buffer[6];
  9.        if( pipe(fd) != 0)
  10.            perror("pipe");
  11.        memset(buffer,' ',6);
  12.        count=write(fd[1],"Linux",6);
  13.        read(fd[0],buffer,6);
  14.        printf("%sn",buffer);
  15.        return 0;put
  16.    }

a) this program will print the string “Linux”
b) this program will print nothing because the buffer is empty
c) segmentation fault
d) none of the mentioned

Answer: a

2. What is the output of this program?

  1.    #include
  2.    #include
  3. 
    
  4.    int main()
  5.    {
  6.        int fd[2];
  7.        int child;
  8.        char buff[6];
  9.        if(pipe(fd) != 0)
  10.            perror("pipe");
  11.        child=fork();
  12.        switch(child){
  13.            case -1 :
  14.                perror("fork");
  15.                exit(1);
  16.            case 0 :
  17.                if (write(fd[1],"Linux",6) != 6)
  18.                    perror("write");
  19.                    break;
  20.                default :
  21.                    read(fd[0],buff,6);
  22.                    printf("%sn",buff);
  23.                    break;
  24.        }
  25.        return 0;
  26.    }

a) this program will print the string “Linux”
b) this program will print nothing
c) segmentation fault
d) none of the mentioned

Answer: a

3. What is the output of this program?

  1.    #include
  2.    #include
  3. 
    
  4.    int main()
  5.    {
  6.        int fd;
  7.        char buff[512];
  8.        if( mkfifo("/tmp/test_fifo",0666) == -1)
  9.            perror("mkfifo");
  10.        fd = open("/tmp/test_fifo",O_RDONLY);
  11.        read(fd,buff,512);
  12.        printf("%sn",buff);
  13.        return 0;
  14.    }

a) this program will print the garbage of 512 bytes
b) this program will print nothing
c) segmentation fault
d) none of the mentioned

Answer: b

4. This program will print the _____ string.

  1.    #include
  2. 
    
  3.    int main()
  4.    {
  5.        int fd[2];
  6.        char buff[11];
  7.        if (pipe(fd) != 0)
  8.            perror("pipe");
  9.        write(fd[1],"",11);
  10.        lseek(fd[0],0,3);
  11.        read(fd[0],buff,11);
  12.        printf("%sn",buff);
  13.        return 0;
  14.    }

a) “”
b) “San”
c) “foundry”
d) none of the mentioned

Answer: a

5. What is the output of this program?

  1.    #include
  2. 
    
  3.    int main()
  4.    {
  5.        if (mkfifo("/tmp/test_fifo",0666) != 0)
  6.            perror("mkfifo");
  7.        if (mkfifo("/tmp/test_fifo",0666) != 0)
  8.            perror("mkfifo");
  9.        return 0;
  10.    }

a) this program will create two named pipes “test_fifo” in the /tmp directory
b) this program will create one named pipe “test_fifo” in the /tmp directory
c) segmentation fault
d) none of the mentioned

Answer: b

6. What is the output of this program?

  1.    #include
  2.    #include
  3. 
    
  4.    int main()
  5.    {
  6.        int fd, count;
  7.        char buff[10];
  8.        if (mkfifo("/tmp/test_fifo",0666) != 0)
  9.            perror("mkfifo");
  10.        fd = open("/tmp/test_fifo",O_RDONLY|O_NONBLOCK);
  11.        count = read(fd,buff,10);
  12.        printf("%dn",count);
  13.        return 0;
  14.    }

a) 0
b) -1
c) 10
d) none of the mentioned

Answer: a

7. This program will print the value

  1.    #include
  2.    #include
  3. 
    
  4.    int main()
  5.    {
  6.        int rfd, wfd, count;
  7.        char buff[11];
  8.        if (mkfifo("/tmp/test_fifo",0666) != 0)
  9.            perror("mkfifo");
  10.        wfd = open("/tmp/test_fifo",O_WRONLY|O_NONBLOCK);
  11.        count = write(wfd,"",11);
  12.        printf("%dn",count);
  13.        rfd = open("/tmp/test_fifo",O_RDONLY|O_NONBLOCK);
  14.        count = read(rfd,buff,11);
  15.        return 0;
  16.    }

a) 0
b) -1
c) 11
d) none of the mentioned

Answer: b

8. What is the output of this program?

  1.    #include
  2. 
    
  3.    int main()
  4.    {
  5.        int fd[3],count;
  6.        if (pipe(fd) != 0)
  7.            perror("pipe");
  8.        count = write(fd[2],"Hello",6);
  9.        printf("%dn",count);
  10.        return 0;
  11.    }

a) 6
b) 0
c) -1
d) segmentation fault

Answer: c

9. In this program the fifo “my_fifo”

  1.    #include
  2. 
    
  3.    int main()
  4.    {
  5.        if (mkfifo("my_fifo",0666) != 0)
  6.            perror("mkfifo");
  7.        return 0;
  8.    }

a) can not be created
b) will be created in present working directory
c) will have the execute permissions
d) none of the mentioned

Answer: b

10. What is the output of this when the pipe is successfully created?

  1.     #include
  2. 
    
  3.     int main()
  4.     {
  5.         int ret_val;
  6.         int fd[2];
  7.         ret_val = pipe(fd);
  8.         printf("%dn",ret_val);
  9.         return 0;
  10.     }

a) 0
b) -1
c) 1
d) none of the mentioned

Answer: a
  250+ TOP MCQs on Filesystem Overview and Answers

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top