Answers

Question and Answer:

  Home  Linux Signal Handling

⟩ What is the output of this program? #include<stdio.h> #include<signal.h> #include<stdlib.h> void response (int); void response (int sig_no) { printf("%sn",sys_siglist[sig_no]); printf("This is singal handlern"); } int main() { pid_t child; int status; child = fork(); switch (child){ case -1 perror("fork"); exit (1); case 0 kill(getppid(),SIGKILL); printf("I am an orphan process because my parent has been killed by men"); printf("Handler failedn"); break; default signal(SIGKILL,response); wait(&status); printf("The parent process is still aliven"); break; } return 0; } a) the child process kills the parent process b) the parent process kills the child process c) handler function executes as the signal arrives to the parent process d) none of the mentioned

a) the child process kills the parent process

Explanation:

The SIGKILL signal can not be handled by singal handler function.

Output:

[root@localhost google]# gcc -o san san.c

[root@localhost google]# ./san

Killed

[root@localhost google]# I am an orphan process because my parent has been killed by me

Handler failed

[root@localhost google]#

 136 views

More Questions for you: