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("%s\n",sys_siglist[sig_no]);
printf("This is singal handler\n");
}
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 me\n");
printf("Handler failed\n");
break;
default :
signal(SIGKILL,response);
wait(&status);
printf("The parent process is still alive\n");
break;
}
return 0;
}
#include<stdio.h>
#include<signal.h>
#include<stdlib.h>
void response (int);
void response (int sig_no)
{
printf("%s\n",sys_siglist[sig_no]);
printf("This is singal handler\n");
}
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 me\n");
printf("Handler failed\n");
break;
default :
signal(SIGKILL,response);
wait(&status);
printf("The parent process is still alive\n");
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
Answer: Option A
Related Questions on Linux
What command is used to count the total number of lines, words, and characters contained in a file?
A. countw
B. wcount
C. wc
D. count p
E. None of the above
What command is used with vi editor to delete a single character?
A. x
B. y
C. a
D. z
E. None of the above

Join The Discussion