今天我們談談linux系統的shell的父子關系,因為大家對手機都比較熟悉,手機本身也是一個linux主機,所以我們今天就拿手機來舉個例子。
首先就是創建一個新的shell,你可以把它理解成一個手機打開了一個軟件,但是在linux打開一個“軟件”沒有那么容易,這就需要用到兩種方法。
方法一:在CLI提示符用/bin/bash或bash創建一個shell。

圖1-1
可以看到第一個bash的進程號為2022927;第二個bash的進程號為為2023167;這樣說也不是特別明顯,我們用ps -forest命令看看

圖1-2
從圖1-2中可以直觀的看到第二個bash是第一個bash的一個子進程;可以與圖1-1的進程做一下對比
方法二:在CLI提示符后用(命令;命令;命令;)創建一個shell。

圖1-3
從圖1-3我們可以看到返回了一個1,則證明我們的子shell是成功的。推出shell也是非常容易的輸入命令exit就可以了。
當Linux運行着一個shell是你也可以說:“運行着一個進程",所以”進程“=”shell“。
shell的用法:
一:后台

圖1-4
圖1-4我們在子shell下運行了一個sleep並將其放入了后台,他得進程號為2026627我們現在退出此進程如圖1-5。

圖1-5
二:協程
由一個或多個語句塊組成。它負責完成某項特定任務,而且相較於其他代碼,具備相對的獨立性。我可以將子例程理解為一個函數。
例如圖1-6,用coproc創建了一個協程zz,jobs可以查看后台作業。

