首頁 >後端開發 >C#.Net教程 >C語言如何取得進程ID? (程式碼實例)

C語言如何取得進程ID? (程式碼實例)

青灯夜游
青灯夜游原創
2019-03-06 13:56:327917瀏覽

我們可以使用getppid()和getpid()函數來取得進程ID,它們都是unistd.h函式庫中定義的內建函數,都可以傳回進程ID。以下這篇文章就來給大家簡單介紹一下getppid()和getpid()函數,了解在Linux系統中使用C語言如何取得進程ID,希望對大家有幫助。

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn