我們可以使用getppid()和getpid()函數來取得進程ID,它們都是unistd.h函式庫中定義的內建函數,都可以傳回進程ID。以下這篇文章就來給大家簡單介紹一下getppid()和getpid()函數,了解在Linux系統中使用C語言如何取得進程ID,希望對大家有幫助。
getpid()函數
在建立任何進程時,它都具有唯一的id,稱為進程ID。 getpid()函數傳回呼叫進程的進程ID。 【影片教學推薦:C語言教學】
基本語法:
pid_t getpid(void);
傳回類型:getpid()函數傳回目前行程的行程ID;它永遠不會拋出任何錯誤,因此總是成功的。
getppid()函數
getppid()函數:傳回呼叫程式的父行程的行程ID。
說明:如果呼叫進程是由fork()函數建立的,並且在getppid()函數呼叫時父進程仍然存在,則此函數會傳回父進程的進程ID。否則,此函數傳回值1,該值是init進程的進程ID。
基本語法:
pid_t getppid(void);
傳回類型:getppid()函數傳回目前行程的父行程的行程ID;它從不拋出任何錯誤,因此總是成功的。
註:pid_t是進程ID的型別,它是無符號整數型別的資料型別。
程式碼範例(C語言):
#下面看看在Linux系統中使用C語言如何取得呼叫程序ID和父進程ID 。
#include <stdio.h> #include <sys/types.h> #include <unistd.h> int main(void) { //存储调用函数进程ID的变量 pid_t process_id; //存储父函数进程ID的变量 pid_t p_process_id; //getpid() - 将返回调用函数的进程ID process_id = getpid(); //getppid() - 将返回父函数的进程ID p_process_id = getppid(); //输出进程ID printf("调用函数的进程ID:%d\n",process_id); printf("父函数的进程ID:%d\n",p_process_id); return 0; }
#輸出:
调用函数的进程ID:31120 父函数的进程ID:31119
說明:頭檔
● stdio.h : 用於 printf()函數
#● sys / types.h : 用於pid_t類型,即用於儲存進程ID的變數的資料類型。
● unistd.h : 用於getpid()和getppid()函數
以上就是本篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! !
以上是C語言如何取得進程ID? (程式碼實例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!