91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++進程創建和進程ID標識的方法是什么

發布時間:2022-08-27 11:33:14 來源:億速云 閱讀:169 作者:iii 欄目:開發技術

這篇文章主要介紹“C++進程創建和進程ID標識的方法是什么”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“C++進程創建和進程ID標識的方法是什么”文章能幫助大家解決問題。

進程的ID

進程的ID,可稱為PID。它是進程的唯一標識,類似于我們的身份證號是唯一標識,因為名字可能會和其他人相同,生日可能會與其他人相同……大多數的事件都可能會與其他人相同,而身份證號每個人都是不一樣的,這是社會中自己的唯一標識。

當進程被創建的時候,系統就自動分配給進程一個唯一的PID,PID是正數。

在Linux中有兩個系統調用函數,可以獲取進程的ID。

  pid_t getpid(void); //獲取進程ID(PID)
  pid_t getppid(void);//獲取其父進程ID(PPID)

所需頭文件

# include <sys/types.h>
# include <unistd.h>

getpid()返回的時調用該函數的進程的PID,getppid()返回的是調用該函數的進程的父進程ID(PPID),返回值類型是pid_t,實際上是無符號整型,這兩個函數不會出現調用失敗的情況

開始測試&hellip;&hellip;

  //mycode.c文件
# include <stdio.h>
# include <sys/types.h>
# include <unistd.h>
int main(void)
{
  //創建子進程
  pid_t id = fork();
  if(id == 0)
  {
 //子進程
  printf("i am child, my id is %d\n",getpid());
  }
  else{                                                                                                                                                         
  //父進程
  printf("i am parent, my id is %d\n",getppid());
  }
  return 0;
}

//運行結果
i am parent, my id is 1593
i am child, my id is 7048

進程創建

【進程創建的主要事件】

1、新的批處理作業

2、由進程派生出一個進程

3、因為提供服務而創建

4、交互登錄

操作系統創建進程包含的步驟

1、分配唯一的進程標識符

2、分配空間

3、初始化進程控制塊(PCB)

4、修改連接

5、創建/擴充其他數據結構

對于“修改連接”,操作系統會把調度隊列保存成某些數據結構,新的進程需要放置在數據結構里,所以需要重新連接。

在Linux系統中,可以創建新進程的系統調用函數只有一個fork

#include <unistd.h>
 pid_t fork(void);

描述:

fork()函數可以創建子進程,所需的頭文件為unistd.h, 返回兩次。

  • 如果返回的是0,則表示為子進程

  • 如果返回的是非0,則表示為父進程

關于“C++進程創建和進程ID標識的方法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

松江区| 宜兴市| 麟游县| 眉山市| 万盛区| 潼南县| 长丰县| 阿拉善盟| 廊坊市| 武强县| 汶川县| 菏泽市| 涟水县| 贺兰县| 余江县| 读书| 明光市| 福泉市| 沙湾县| 商河县| 泸西县| 叶城县| 沽源县| 乌兰浩特市| 滁州市| 泰安市| 九江市| 罗山县| 扬州市| 阜宁县| 稷山县| 宜兰县| 楚雄市| 镇江市| 临高县| 镇安县| 洪湖市| 大宁县| 丹寨县| 宁晋县| 博罗县|