日韩在线免费播放-日韩在线免费av-日韩在线免费-日韩在线毛片-国产高清不卡视频-国产高清不卡

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 進程標識符詳解,讓你對進程標識符有深入理解

進程標識符詳解,讓你對進程標識符有深入理解 時間:2018-06-26      來源:未知

[1]什么是進程標識符

系統給每個進程定義了一個唯一標識該進程的非負整數,稱作進程標識符(PID:Process Identifier)。

[2]程序和進程的關系

程序--靜態的概念

一個編譯出來的可執行文件,它是一些保存在磁盤上的指令的有序集合,沒有任何執行的概念。比如我們的a.out就是一個可執行程序。

進程--動態的概念

a.out要執行,這樣的執行過程是一個動態的,需要把這些可執行的程序指令搬運到內存中,進行一些內存的資源,這就是進程。也可以理解為"正在運行的程序"。

同一個程序文件可以被加載多次成為不同的進程,每次產生進程,操作系統就會為其分配一個唯一的標識符來標識這個進程。因此,進程與進程標識符之間是一對一的關系,而與程序之間是多對一的關系。

[3]怎么查看進程標識符

在linux操作系統shell中,我們可以通過ps命令查看當前系統下正在運行的進程信息。

第一列內容是進程標識符(PID),這個標識符是唯一的;最后一列內容是進程的程序文件名。我們可以從中間找到有多個進程對應同一個程序文件名的情況,這是因為有一些常用的程序被多次運行了,比如bash等。

[4]程序中怎么獲取當前進程的進程ID

#include

pid_t getpid(void); //獲取進程ID

應用舉例:

#include

#include

int main(void)

{

printf("PID: %u\n", getpid());

return 0;

}

[5]程序的父進程ID

在linux操作系統中,有一個init進程,作為整個操作系統的最開始的進程,然后這個進程去創建子進程,子進程再層層創建下去形成當前linux系統可以使用的多個進程的環境。也就是說,除了init進程外,所有的進程,都有自己的父進程。

下圖是通過pstree -p命令顯示出當前系統下所有進程的樹型關系,通過這個圖我們也能清晰的看到每個進程它的父進程是誰。

[6]程序中怎么獲取當前進程的父進程ID

#include

pid_t getppid(void); //獲取進程ID

應用舉例:

#include

#include

int main(void)

{

printf("PPID: %u\n", getppid());

return 0;

}

上一篇:Linux下多任務編程之任務、進程和線程詳解,厲害的

下一篇:多進程編程中父進程如何回收僵尸進程,經典中的經典

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 胖猫图片| 性感直播| 菲律宾电影泡沫| 芦名星| 我在皇宫当巨巨| 我的学生妈妈| 徐有容| mhdd| 长谷川未来| 请赐我一双翅膀在线观看| ab变频器中文说明书| 荒岛求生2005美版| 柯佳青| 西藏卫视| 演员于晓光| 香港毛片免费看| 快乐到底| 凹凸精品视频| 红色角落| 赵琦| 正在行动| 最可爱的人 电影| 牛奶奶油是什么奶油| 1988田螺姑娘| 陕09j01图集| 打开免费观看视频在线观看高清 | 赵煊| urban legend| 风云太白山电影| 新上海滩张国荣和宁静| 性感美女动漫| 无常电影| 新上海滩张国荣和宁静| 最近,妹妹的样子有点怪| 魔影| 同志微电影| 风霜踩泥| 清淮河| 底线电影| 母5| 结婚大作战|