理解的shell父子關係

        今天咱們談談linux系統的shell的父子關係,由於你們對手機都比較熟悉,手機自己也是一個linux主機,因此咱們今天就拿手機來舉個例子。linux

        首先就是建立一個新的shell,你能夠把它理解成一個手機打開了一個軟件,可是在linux打開一個「軟件」沒有那麼容易,這就須要用到兩種方法。shell

        方法一:在CLI提示符用/bin/bash或bash建立一個shell。bash

 

圖1-1函數

能夠看到第一個bash的進程號爲2022927;第二個bash的進程號爲爲2023167;這樣說也不是特別明顯,咱們用ps -forest命令看看rest

 

圖1-2協程

從圖1-2中能夠直觀的看到第二個bash是第一個bash的一個子進程;能夠與圖1-1的進程作一下對比blog

       方法二:在CLI提示符後用(命令;命令;命令;)建立一個shell。進程

 

圖1-3it

從圖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能夠查看後臺做業。

相關文章
相關標籤/搜索