執行一個命令使其在后台運行的方式有兩種:
1. 在bash 命令后加 &
tar -zcvf dist.tgz dist &
(tar -zcvf dist.tgz dist; cp dist.tgz ../) &
2. 利用 coproc 命令, 此命令會產生一個新的shell進程來執行命令
coproc tar -zcvf dist.tgz dist
coproc proceed_name { tar -zcvf dist.tgz dist; }
3. echo $BASH_SUBSHELL, 如果該命令返回0,則表明沒有子shell,如果返回1或其他更大的數字,
就表明存在子shell。
4. 命令列表,命令分組,進程列表
$ pwd; ls; cd /etc; 一系列以分號分割的命令,為命令列表
$ (pwd; ls; cd /ets) 以圓括號包裹起來的命令列表,則會變成進程列表,執行時會產生一個子shell 運行其中的命令
$ { pwd; ls; cd/etc; } 以花括號包裹起來,前后留有空格,並以分號結尾的單個或多個命令為命令分組,其不會產生子shell
進程列表也是一種命令分組
