Process 子进程不终止?
我有一个关于是否有任何进程不终止的考试问题。 我以为他们都会终止,那个么为什么有进程不终止呢 是因为父母没有收获孩子吗 若父端比子端快,那个么就并没有僵尸进程。Process 子进程不终止?,process,signals,Process,Signals,我有一个关于是否有任何进程不终止的考试问题。 我以为他们都会终止,那个么为什么有进程不终止呢 是因为父母没有收获孩子吗 若父端比子端快,那个么就并没有僵尸进程。 但是如果孩子结束的速度比父母快,那么他们就会变成僵尸,对吗?声明a是volatile可以解决它吗?即使孩子变成僵尸,当父母退出时也会收获,因为init过程会采用它,那个么你们的意思是所有的过程都会终止?除非它们进入无限循环。 int a = 1; void handler(int sig){ a = 0; } void empt
但是如果孩子结束的速度比父母快,那么他们就会变成僵尸,对吗?声明
a
是volatile
可以解决它吗?即使孩子变成僵尸,当父母退出时也会收获,因为init
过程会采用它,那个么你们的意思是所有的过程都会终止?除非它们进入无限循环。
int a = 1;
void handler(int sig){
a = 0;
}
void emptyhandler(int sig){
}
int main() {
signal(SIGINT, handler);
signal(SIGCONT, emptyhandler);
int pid = fork();
if(pid == 0){
while(a == 1)
pause();
printf("a");
}else{
kill(pid, SIGCONT);
printf("b");
kill(pid, SIGINT);
printf("c");
}
}