|
唉,CSDN上linux/unix版块的人真是太少了,就看这里怎么样了
这个signal函数我搞了好久,还是不明白:他的工作过程究竟是怎么样的?
比方说下面的程序为一个子进程执行过程:
[code:1]{
1. wait_flag = 1;
2. signal(16,stop);
3. while(wait_flag) ;
4. printf("\n Child process 1 is killed by parent !!\n");
5. exit(0);
}[/code:1]
我先说一下我自己的理解:
当这个子进程执行到第2句时,它不会停在那里等待信号16到达,而是继续往下走.signal函数就开始监视信号16是否到达,当信号16到达,不管这个子进程执行到了哪里,只要还没退出子进程,他就转去执行stop函数.
请问我这样理解对吗?
另外,signal函数是不是第一次执行的时候不管信号16是否到达,都要先执行一遍stop函数的?(应该不会吧?)
麻烦大家讲一下这个signal函数到底是怎么工作的好吗?谢谢各位了! |
|