#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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。