css

2013年7月1日 星期一

父shell 和 子 shell

父shell 和 子 shell



當執行一支shell script時, 父shell會根據script程式的第一行 #!之後所指定的shell程式,

開啟(fork)一個子shell環境,在子shell中執行此shell script。

一旦子shell中的script執行完畢.此子shell隨即結束,回到父shell中,不會影響shell原本的環境。




子shell和父shell 一樣,會開啟三個檔案, 標準輸入(鍵盤)、標準輸出(螢幕) 、標準錯誤(螢幕) ,

同時子shell會繼承父shell的若干變數值內容,這些變數稱為環境變數。




子shell還可以在開啟另一個子shell


每執行一份bash就進入下一層shell

如何知道目前是位於第幾層的shell:

echo $SHLVL



也可利用 ps axf  指令,觀察記憶體中,個行程之間的階層關係。



沒有留言:

張貼留言