在shell當中,可以有3中方式執行指令碼:
1 . ./script_name 或者source ./script_name
2 直接./script_name
3 ./script_name &
加入指令碼script_name中有兩個命令command1,command2,那麼,當以第一種方式執行時,command1和command2都在當前shell中執行,並沒有產生subshell,如下圖所示:
當script_name以第2中方式執行時,當前shell會產生乙個subshell,command1和command2在subshell中執行,而當前的shell會一直等待subshell執行結束之後才繼續執行,如下圖所示:
當script_name以第3種方式執行時,當前shell會產生乙個subshell,command1和command2在subshell中執行,但是,當前shell不會等待shubshell執行結束後再執行,而是同時和subshell一起繼續執行,如下圖所示:
python以shell方式執行hsql指令碼
最近開始學習python,因為專案需要,需要測試使用python hsql,在網上也查了不少資訊,因為工作環境比較特殊,執行指令碼都是用的定製化工具,大概情況就是需要將指令碼提交到集群然後通過etl排程執行,所以python指令碼不像以往的開發那樣子寫,感覺和shell指令碼執行hsql乙個道理。在...
Objective C中不同方式實現鎖 二
在上一文中,我們已經討論過用objective c鎖幾種實現 跳轉位址 也用 實際的演示了如何通過構建乙個互斥鎖來實現多執行緒的資源共享及執行緒安全,今天我們繼續討論鎖的一些高階用法。1.nsrecursivelock遞迴鎖 平時我們在 中使用鎖的時候,最容易犯的乙個錯誤就是造成死鎖,而容易造成死鎖...
Objective C中不同方式實現鎖(2)
在上一文中,我們已經討論過用objective c鎖幾種實現 跳轉位址 也用 實際的演示了如何通過構建乙個互斥鎖來實現多執行緒的資源共享及執行緒安全,今天我們繼續討論鎖的一些高階用法。1.nsrecursivelock遞迴鎖 平時我們在 中使用鎖的時候,最容易犯的乙個錯誤就是造成死鎖,而容易造成死鎖...