關於pid t的理解

2021-09-19 13:42:43 字數 720 閱讀 8310

pid_t pid = fork();

這裡的pid_t類似乙個型別,就像int型一樣,int型定義的變數都是整型的,pid_t定義的型別都是程序號型別。這個語句的意思是定義了乙個pid_t型別的變數pid,fork()函式返回乙個程序號,這個程序號賦給了pid。pid_t在標頭檔案types.h(sys/types.h)中定義、

其中fork( void )為建立子程序,有趣的是他有三種不同的返回值

1、在父程序中,fork返回新建立的子程序的pid

2.、在子程序中,fork返回0

3、如果出現錯誤,fork返回乙個負值

另外在子程序被建立之前,只有乙個程序在執行,但在fork建立子程序後,兩程序同時執行

程式列子:

int main(int argc ,char *ar** )

執行結果:建立了乙個子程序,輸出的結果為 

i am the parent process,id is 13655

i am the child process, id is 13525,不同次執行時,程序的id一般是不同的。

pid_t與int又有什麼區別呢?

pid_t是typedef定義的型別,表示程序的id

在sys/types.h中定義:

typedef short   pid_t;

所以說pid_t就是乙個short型別的變數,實際表示的是核心中程序表的索引。

pid t的型別定義

pid t的型別定義 建立程序時經常會用到程序號的型別定義 pid t。我們都知道這個型別定義實際上就是int型。但是在linux下的c中的標頭檔案中這個定義到底是怎麼定義的呢?今天就把以前找這個定義的過程貼出來 1.首先在 usr include sys types.h中有如下定義 include...

pid t的型別定義

建立程序時經常會用到程序號的型別定義 pid t。我們都知道這個型別定義實際上就是int型。但是在linux下的c中的標頭檔案中這個定義到底是怎麼定義的呢?今天就把以前找這個定義的過程貼出來 1.首先在 usr include sys types.h中有如下定義 include ifndef pid...

Linux C程式設計 pid t的型別定義

pid t的型別定義 建立程序時經常會用到程序號的型別定義 pid t。我們都知道這個型別定義實際上就是int型。但是在linux下的c中的標頭檔案中這個定義到底是怎麼定義的呢?今天就把以前找這個定義的過程貼出來 1.首先在 usr include sys types.h中有如下定義 include...