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...