<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > linux shell exec命令詳解

        linux shell exec命令詳解

        時(shí)間: 佳洲1085 分享

        linux shell exec命令詳解

          exec命令是linux下的一個(gè)命令,那它有什么用處呢?下面由學(xué)習(xí)啦小編為大家整理了exec命令的相關(guān)知識(shí),希望大家喜歡!

          linux shell exec命令

          介紹

          在bash下輸入man exec,找到exec命令解釋處,可以看到有”No new process is created.”這樣的解釋?zhuān)@就是說(shuō)exec命令不產(chǎn)生新的子進(jìn)程。那么exec與source的區(qū)別是什么呢?

          exec命令在執(zhí)行時(shí)會(huì)把當(dāng)前的shell process關(guān)閉,然后換到后面的命令繼續(xù)執(zhí)行。

          用法

          1. 系統(tǒng)調(diào)用exec是以新的進(jìn)程去代替原來(lái)的進(jìn)程,但進(jìn)程的PID保持不變。因此,可以這樣認(rèn)為,exec系統(tǒng)調(diào)用并沒(méi)有創(chuàng)建新的進(jìn)程,只是替換了原來(lái)進(jìn)程上下文的內(nèi)容。原進(jìn)程的代碼段,數(shù)據(jù)段,堆棧段被新的進(jìn)程所代替。

          一個(gè)進(jìn)程主要包括以下幾個(gè)方面的內(nèi)容:

          (1)一個(gè)可以執(zhí)行的程序

          (2) 與進(jìn)程相關(guān)聯(lián)的全部數(shù)據(jù)(包括變量,內(nèi)存,緩沖區(qū))

          (3)程序上下文(程序計(jì)數(shù)器PC,保存程序執(zhí)行的位置)

          2. exec是一個(gè)函數(shù)簇,由6個(gè)函數(shù)組成,分別是以excl和execv打頭的。

          執(zhí)行exec系統(tǒng)調(diào)用,一般都是這樣,用fork()函數(shù)新建立一個(gè)進(jìn)程,然后讓進(jìn)程去執(zhí)行exec調(diào)用。我們知道,在fork()建立新進(jìn)程之后,父進(jìn)各與子進(jìn)程共享代碼段,但數(shù)據(jù)空間是分開(kāi)的,但父進(jìn)程會(huì)把自己數(shù)據(jù)空間的內(nèi)容copy到子進(jìn)程中去,還有上下文也會(huì)copy到子進(jìn)程中去。而為了提高效率,采用一種寫(xiě)時(shí)copy的策略,即創(chuàng)建子進(jìn)程的時(shí)候,并不copy父進(jìn)程的地址空間,父子進(jìn)程擁有共同的地址空間,只有當(dāng)子進(jìn)程需要寫(xiě)入數(shù)據(jù)時(shí)(如向緩沖區(qū)寫(xiě)入數(shù)據(jù)),這時(shí)候會(huì)復(fù)制地址空間,復(fù)制緩沖區(qū)到子進(jìn)程中去。從而父子進(jìn)程擁有獨(dú)立的地址空間。而對(duì)于fork()之后執(zhí)行exec后,這種策略能夠很好的提高效率,如果一開(kāi)始就copy,那么exec之后,子進(jìn)程的數(shù)據(jù)會(huì)被放棄,被新的進(jìn)程所代替。

          3. exec與system的區(qū)別

          (1) exec是直接用新的進(jìn)程去代替原來(lái)的程序運(yùn)行,運(yùn)行完畢之后不回到原先的程序中去。

          (2) system是調(diào)用shell執(zhí)行你的命令,system=fork+exec+waitpid,執(zhí)行完畢之后,回到原先的程序中去。繼續(xù)執(zhí)行下面的部分。

          總之,如果你用exec調(diào)用,首先應(yīng)該fork一個(gè)新的進(jìn)程,然后exec. 而system不需要你fork新進(jìn)程,已經(jīng)封裝好了。

        3575019 主站蜘蛛池模板: 资源新版在线天堂偷自拍| 国外av片免费看一区二区三区| 给我中国免费播放片在线| 国产高清一区在线观看| 在线观看中文字幕码国产| 韩国亚洲精品a在线无码| 尤物国精品午夜福利视频| 毛片一区二区在线看| 午夜福利影院不卡影院| 67194熟妇在线直接进入| 国产suv精品一区二区四| 极品尤物被啪到呻吟喷水| 如何看色黄视频中文字幕| 成人国产亚洲精品天堂av| 午夜成人精品福利网站在线观看| 成年无码av片在线蜜芽| 精品国产欧美一区二区五十路| 日本理伦片午夜理伦片| 国产福利社区一区二区| 精品国产美女福到在线不卡| 国产激情福利短视频在线| 国产精品久久久久久2021| 欧美 亚洲 日韩 在线综合| 亚洲区1区3区4区中文字幕码| 国产揄拍国产精品| 日本经典中文字幕人妻| 欧美一本大道香蕉综合视频| 男人狂桶女人出白浆免费视频 | 免费吃奶摸下激烈视频| 男按摩师舌头伸进去了电影| 九九热在线免费视频观看| 国产精品妇女一二三区| 国产一区二区午夜福利久久| 久久久av男人的天堂| 人妻少妇88久久中文字幕 | 无码精油按摩潮喷在线播放| 国产网友愉拍精品视频手机 | 自拍第一区视频在线观看| 日本一本正道综合久久dvd| 国产一区二区亚洲一区二区三区| 国产精品久久久久精品日日|