您好,登錄后才能下訂單哦!
#include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <errno.h> int glob = 6; //外部變量 int main(int argc,char *argv[]) { int var; //內部變量 pid_t pid; //文件標識符 var = 88; //內部變量 printf("創建新進程之前。\n"); //還沒有創建子進程 if ((pid = vfork()) < 0) //如果創建子進程失敗 { perror("創建子進程失敗!"); } else if (pid == 0) //現在是子進程 { glob++; //在子進程中修改變量值 var++; //exit(0); } else //現在是父進程 { //glob = 101; //var = 102; //修改變量的值 //sleep(2); //父進程阻塞2秒 } printf("進程標識符為= %d, glob = %d, var = %d\n", getpid(), glob, var); //分別在子進程和輸出兩個變量的值 exit(0); }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。