Linux下C語言驗證多程式

動起來才能健康快樂發表於2020-12-13

#include<sys/types.h>
#include<unistd.h>
#include<stdio.h>
#include<iostream>
using namespace std;

int main()
{

    pid_t pid1;
    pid_t pid2;
    cout<<"main: pid1="<<pid1<<"; pid2="<<pid2<<endl;

    pid1=fork();
   
    cout<<"pid1= "<<pid1<<endl;
    cout<<"pid2= "<<pid2<<endl;

    cout<<"the current process is: "<<getpid()<<"   the parent process is: "<<getppid()<<endl;
    

    return 0;
}
 

上面是父程式的執行結果

下面是子程式的執行結果。

fork功能

建立一個子程式,父子程式併發執行

子程式複製父程式的如下屬性

程式碼段、資料段的內容,父子程式擁有相同的程式碼和資料

開啟檔案列表

不復制程式的PID屬性

 

fork返回值

父程式從fork返回處繼續執行,在父程式中,fork返回子程式PID

子程式從fork返回處開始執行,在子程式中,fork返回0

 

getpid()得到當前程式號

getppid()得到父程式程式號

 

參考:

https://blog.csdn.net/qq_20916555/article/details/51166103

相關文章