|
大家先看看吧:
- #include <unistd.h>
- #include <stdio.h>
- #include <stdlib.h>
- int main(void){
- if(fork()==0){
- puts("This is child process!\n");
- exit(EXIT_SUCCESS);
- }
- else{
- puts("This is parent process!\n");
- eixt(EXIT_SUCCESS);
- }
- return ;
- }
复制代码
我没有检测fork()失败的情况,写简单点.
fork()返回了两次,而我只是用了一次if,就能判断两次fork()返回的结果了,而且exit()没有执行的.我现在不明白了. :help
我用gdb调试,在断点之前肯定会输出一个,比如在puts("this is child......那句断了,但是...parent那句就会得到了执行.难道if可以判断两次???
以前一直这样用着,没想过,现在想不明白!
:ask |
|