1、exec命令簡介:系統調用exec是以新的進程去代替原來的進程,但進程的PID保持不變。因此,可以這樣認爲,exec系統調用並沒有創建新的進程,只是替換了原來進程上下文的內容。原進程的代碼段,數據段,堆棧段被新的進程所代替。
exec系統調用並沒有創建新的進程,只是替換了原來進程上下文的內容。原進程的代碼段,數據段,堆棧段被新的進程所代替。
2、exec 命令的兩種用法:
exec 命令 ;命令代替shell程序,命令退出,shell 退出;比如 exec ls
exec 檔案重定向,可以將檔案的重定向就看爲是shell程序的檔案重定向 比如 exec 5
3、exec命令常用作用:
exec ls:在shell中執行ls,ls結束後不返回原來的shell中了
exec <file:將file中的內容作爲exec的標準輸入
exec >file:將file中的內容作爲標準寫出
exec 3<file:將file讀入到fd3中
sort <&3:fd3中讀入的內容被分類
exec 4>file:將寫入fd4中的內容寫入file中
ls >&4:Ls將不會有顯示,直接寫入fd4中了,即上面的file中
exec 5<&4:創建fd4的拷貝fd5
exec 3<&-:關閉fd3