您好,登錄后才能下訂單哦!
/*體現exit和_exit的區別*/ #include <sys/types.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <errno.h> int main(void) { pid_t pid; if ( (pid = fork() )==-1 ) //如果創建子進程失敗 { perror ("創建子進程失敗\n"); //創建子進程出錯信息 exit(0); } else if(pid==0) //子進程 { printf("01:這是子進程\n"); printf("02:這是子進程,目前數據在緩沖區中"); //這個地方沒有換行符,所以不寫出數據 exit(0); //退出,強制清空,會輸出上面未完成數據 } else //父進程 { sleep(1); //休眠一秒以確定先后順序 printf("03:這是父進程,開始輸出\n"); printf("04:這是夫進程,目前數據在緩沖區中"); //同樣沒有換行符 _exit(0); //_exit函數會直接丟棄相應的數據 } return 0; }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。