Linux -- system、.(source)、exec的區(qū)別
一、shell 中的 exec 兩種用法:
1、exec 命令:
代替shell程序,exec命令在執(zhí)行時會把當前的shell process關閉,然后換到后面的命令繼續(xù)執(zhí)行。比如 exec ls,終端執(zhí)行完ls命令后退出。
2、exec 文件重定向:
2、exec 文件重定向:
可以使用命令 exec ls >> ls.txt 后,可以在當前路徑下找到 ls.txt,并且ls.txt文件中的內容即為當前目錄下的文件的名稱。
————————————————
————————————————
二、exec與.(source)的異同:
1、exec和.(source)都可以在終端來執(zhí)行程序或者腳本
2、exec執(zhí)行時候會關閉當前shell進程,并且fork一個相同pid的shell進程來執(zhí)行,系統(tǒng)調用新的exec的process來替代原來的進程執(zhí)行。沒有新的進程創(chuàng)建,原來進程的代碼段、數(shù)據(jù)段、堆棧都被新的process所代替。
3、.(source)執(zhí)行的時候是當前shell環(huán)境下執(zhí)行,執(zhí)行完成后把狀態(tài)返回給當前的shell。
三,system與exec的區(qū)別
1、system()和exec()都可以執(zhí)行進程外的命令,system是在原進程上開辟了一個新的進程,但是exec是用新進程(命令)覆蓋了原有的進程。
2、system()和exec()都有能產(chǎn)生返回值,system的返回值并不影響原有進程,但是exec的返回值影響了原進程。
其中一個應用就是 操作gpio 時候可以使用system 函數(shù)。
————————————————
原文鏈接:https://blog.csdn.net/zhemingbuhao/article/details/88032769
*博客內容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。
調光開關相關文章:調光開關原理