博客專欄

        EEPW首頁 > 博客 > Linux -- system、.(source)、exec的區別

        Linux -- system、.(source)、exec的區別

        發布人:電子禪石 時間:2020-02-13 來源:工程師 發布文章
        一、shell 中的 exec 兩種用法:
        1、exec 命令:
            代替shell程序,exec命令在執行時會把當前的shell process關閉,然后換到后面的命令繼續執行。比如 exec ls,終端執行完ls命令后退出。
        2、exec 文件重定向:
            可以使用命令 exec ls >> ls.txt 后,可以在當前路徑下找到 ls.txt,并且ls.txt文件中的內容即為當前目錄下的文件的名稱。
        ————————————————

        二、exec與.(source)的異同:
        1、exec和.(source)都可以在終端來執行程序或者腳本
        2、exec執行時候會關閉當前shell進程,并且fork一個相同pid的shell進程來執行,系統調用新的exec的process來替代原來的進程執行。沒有新的進程創建,原來進程的代碼段、數據段、堆棧都被新的process所代替。
        3、.(source)執行的時候是當前shell環境下執行,執行完成后把狀態返回給當前的shell。

        三,system與exec的區別
        1、system()和exec()都可以執行進程外的命令,system是在原進程上開辟了一個新的進程,但是exec是用新進程(命令)覆蓋了原有的進程。
        2、system()和exec()都有能產生返回值,system的返回值并不影響原有進程,但是exec的返回值影響了原進程。

        其中一個應用就是 操作gpio 時候可以使用system 函數。

        99.PNG————————————————

        原文鏈接:https://blog.csdn.net/zhemingbuhao/article/details/88032769


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。

        調光開關相關文章:調光開關原理


        關鍵詞:

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 济源市| 肇庆市| 迁安市| 瑞金市| 新绛县| 宾川县| 广灵县| 上思县| 和田市| 沭阳县| 嘉鱼县| 贵港市| 义马市| 嘉祥县| 泸溪县| 丹寨县| 古丈县| 延津县| 铁力市| 山阴县| 乌拉特中旗| 驻马店市| 永嘉县| 铅山县| 怀来县| 阿克苏市| 海南省| 嘉定区| 榆林市| 长沙市| 收藏| 长宁县| 通榆县| 安塞县| 长兴县| 余江县| 永新县| 安乡县| 河源市| 大关县| 靖远县|