1. 程式人生 > >程序的理解

程序的理解

一、fork入門知識 一個程序,包括程式碼、資料和分配給程序的資源。fork()函式通過系統呼叫建立一個與原來程序幾乎完全相同的程序,也就是兩個程序可以做完全相同的事,但如果初始引數或者傳入的變數不同,兩個程序也可以做不同的事。 一個程序呼叫fork()函式後,系統先給新的程序分配資源,例如儲存資料和程式碼的空間。然後把原來的程序的所有值都複製到新的新程序中,只有少數值與原來的程序的值不同。相當於克隆了一個自己。

#include<unistd.h>
#include<stdio.h>
#include<sys/types.h>
int main()
{
	pid_t pid;
char *message; int n = 6; printf("fork program starting\n"); pid = fork(); switch (pid) { case -1: perror("fork failsed"); exit(1); case 0: message = "this is the child"; n++; break; default: message = "this is the parent"; } printf("%s:pid = %d,n = %d\n", message, getpid(),
n); exit(0); }