1. 程式人生 > 其它 >linux系統程式設計——寫實拷貝

linux系統程式設計——寫實拷貝

技術標籤:linuxc語言

linux系統程式設計——寫實拷貝

一、呼叫fork函式會發生什麼
(1)有可能父程序在跑,也有可能子程序再跑,取決於程序的排程,fork函式後面的所有程式碼父子程序都有,(程式碼共享)。

父程序拷貝一份給子程序,資料也拷貝了一份給子程序。
如果在子程序修改資料,修改的範圍是在子程序裡面的資料,並不會修改父程序裡面的資料。

例子:

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>

int   main()
{
        pid_t  pid;

        int
data=10; printf("father:id=%d\n",getpid()); pid=fork(); if(pid>0) { printf("this is father print,father pid=%d\n",getpid()); } else if(pid==0) { printf("this is child print,child pid=%d\n",getpid()
); data=data+100; } printf("data=%d\n",data); return 0; }

在這裡插入圖片描述
——@上官可程式設計