1. 程式人生 > 其它 >建立程序函式fork的使用

建立程序函式fork的使用

技術標籤:linux

1.pid_t fork(void);
作用:建立一個新的程序
返回值:如果呼叫成功,返回兩次。返回值為0,代表當前程序是子程序;返回值為非負數,代表當前程序為父程序。呼叫失敗,返回-1

C程式一開始,就會產生一個程序,當這個程序執行到fork()的時候,會建立一個子程序;此時父程序和子程序是共存的,它們倆會一起向下執行C程式的程式碼;
注意:子程序建立成功後,fork是返回兩個值,一個代表父程序,一個代表子程序:代表父程序的值是一串數字,這串數字是子程序的ID(地址);代表子程序的值為0

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h> int main() { pid_t pid; pid_t pid2; pid_t retpid; pid = getpid(); printf("before fork: pid=%d\n",pid); retpid = fork(); pid2 = getpid(); printf("after fork: pid=%d\n",pid2); if(pid == pid2){ printf
("this is father print: retpid=%d\n",retpid); }else{ printf("this is child print: retpid=%d,child pid=%d\n",retpid,getpid()); } return 0;

執行結果:
在這裡插入圖片描述