最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

深究Runc源碼-5-Exec流程分析

2022-11-16 18:29 作者:黑暗光影DIY  | 我要投稿

代碼基于1.1.0

runc exec在容器中啟動(dòng)另一個(gè)進(jìn)程。流程類似runc start和runc create的部分融合,首先類似runc start 通過(guò)getContainer重新構(gòu)建Container實(shí)例,再根據(jù)命令行參數(shù)構(gòu)建新Process實(shí)例,最后組成runner

例如執(zhí)行runc exec mycontainer bash

Process實(shí)例如下,相較于create流程,Init字段為false

runner實(shí)例如下,相較于create流程,action為CT_ACT_RUN

runner.run流程同create,區(qū)別在于action為CT_ACT_RUN,流程走到了Container.Run

Container.Run流程如下,同create,流程走到了Container.Start,Container.Start流程中相較于create流程,區(qū)別在于流程都走到了Init false的分支

在構(gòu)建parentProcess時(shí),實(shí)例化的是setnsProcess,如下

setnsProcess 執(zhí)行runc init流程同runc create,但區(qū)別是nsexec收到的config.cloneflags是0,config.namespaces是runc create時(shí) runc init創(chuàng)建的namespaces,會(huì)調(diào)用join_namespaces setns將進(jìn)程加入到 create時(shí)創(chuàng)建的namespaces,例如: ? ? ?

在newContainerInit邏輯中,根據(jù)initType==setns,實(shí)例化linuxSetnsInit對(duì)象,如下:

最后調(diào)用system.Execv執(zhí)行Process

開源的東西,不需要說(shuō)明出處,就說(shuō)你自己寫的

深究Runc源碼-5-Exec流程分析的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
雷山县| 额尔古纳市| 大安市| 隆昌县| 乌苏市| 铜山县| 临邑县| 武汉市| 汉阴县| 马鞍山市| 齐齐哈尔市| 郎溪县| 佳木斯市| 清河县| 乌鲁木齐市| 湖南省| 观塘区| 刚察县| 贵溪市| 景泰县| 定西市| 秭归县| 安达市| 轮台县| 惠州市| 建昌县| 灵璧县| 元朗区| 巴林右旗| 鄂托克前旗| 启东市| 通道| 信宜市| 洪洞县| 女性| 德钦县| 诸暨市| 威海市| 双城市| 和硕县| 余姚市|