Posted on 2009-09-18 11:07
Prayer 閱讀(162)
評論(0) 編輯 收藏 引用 所屬分類:
LINUX/UNIX/AIX
正確
if((pid=fork())<0){
printf("fork errro %d,%s\n",errno,strerror(errno));
}else if (pid==0){
if(execl("/try1/print",(char*)&mystr,(char*)0)<0)
printf("execl errro %d,%s\n",errno,strerror(errno));
}
錯誤
if((pid=fork())<0){
printf("fork errro %d,%s\n",errno,strerror(errno));
}else {
if(execl("/try1/print",(char*)&mystr,(char*)0)<0)
printf("execl errro %d,%s\n",errno,strerror(errno));
}
如果這樣,print會被執行兩次,一次是子進程,一次是父進程。
只有pid==0的時候,才是子進程。還存在pid>0的情況,是父進程。