【shell筆記>子shell】:理解子shell

2017.6.26

ps -f命令能夠表現(xiàn)子shell的嵌套關(guān)系。

添加;來分隔命令可以指定依次運(yùn)行的一系列命令卿捎。

不過這一系列命令并不是進(jìn)程列表杭措,命令列表想要成為進(jìn)程列表毡庆,這些命令必須包含在括號里蔚约。

echo $BASH_SUBSHELL返回為0表明沒有子shell奄妨,返回為1或更大的數(shù)涂籽,說明存在苹祟。

子shell用法

探索后臺模式

&字符會讓進(jìn)程被置于后臺:

wsx@wsx-ubuntu:/etc$ sleep 3000& # sleep命令會在后臺睡眠3000秒
[1] 10469           # 返回兩條信息,方括號內(nèi)是后臺作業(yè)號评雌,后者顯示作業(yè)的進(jìn)程ID
wsx@wsx-ubuntu:/etc$ ps -f  # ps命令用來顯示各種進(jìn)程
UID        PID  PPID  C STIME TTY          TIME CMD
wsx      10304 10299  0 19:21 pts/0    00:00:00 bash
wsx      10317 10304  0 19:21 pts/0    00:00:00 bash
wsx      10327 10317  0 19:21 pts/0    00:00:00 bash
wsx      10469 10327  0 19:28 pts/0    00:00:00 sleep 3000
wsx      10470 10327  0 19:28 pts/0    00:00:00 ps -f
wsx@wsx-ubuntu:/etc$ jobs  # 也可以通過jobs命令來顯示后臺作業(yè)信息
[1]+  運(yùn)行中               sleep 3000 &

jobs命令在方括號內(nèi)顯示出作業(yè)號树枫,還顯示了作業(yè)的當(dāng)前狀態(tài)以及對應(yīng)的命令。

將進(jìn)程列表置于后臺

wsx@wsx-ubuntu:/etc$ (sleep 2; echo $BASH_SUBSHELL; sleep 2) &
[2] 10729
wsx@wsx-ubuntu:/etc$ 1

[2]+  已完成               ( sleep 2; echo $BASH_SUBSHELL; sleep 2 )

在CLI中運(yùn)行子shell的創(chuàng)造性方法之一就是將進(jìn)程列表置于后臺模式景东。既可以在子shell中進(jìn)行繁重的處理工作砂轻,同時也不會讓子shell的I/O受制于終端。

協(xié)程

協(xié)程可以同時做兩件事斤吐。它在后臺生成一個子shell搔涝,并在這個子shell中執(zhí)行命令。

要進(jìn)行協(xié)程處理和措,得使用coproc命令庄呈,還有要在子shell中執(zhí)行的命令。比如

wsx@wsx-ubuntu:/etc$ coproc sleep 10
[2] 11026

除了會創(chuàng)建子shell之外派阱,協(xié)程基本上就是將命令置入后臺模式诬留。jobs可以顯示作業(yè)信息。

可以將協(xié)程與進(jìn)程列表結(jié)合起來產(chǎn)生嵌套的子shell。

wsx@wsx-ubuntu:~$ coproc ( sleep 10; sleep 2 )
[1] 3438
wsx@wsx-ubuntu:~$ jobs
[1]+  運(yùn)行中               coproc COPROC ( sleep 10; sleep 2 ) &
wsx@wsx-ubuntu:~$ ps --forest
  PID TTY          TIME CMD
 3420 pts/1    00:00:00 bash
 3438 pts/1    00:00:00  \_ bash
 3439 pts/1    00:00:00  |   \_ sleep
 3440 pts/1    00:00:00  \_ ps

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末文兑,一起剝皮案震驚了整個濱河市盒刚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌绿贞,老刑警劉巖因块,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異籍铁,居然都是意外死亡贮聂,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進(jìn)店門寨辩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吓懈,“玉大人,你說我怎么就攤上這事靡狞〕芫” “怎么了?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵甸怕,是天一觀的道長甘穿。 經(jīng)常有香客問我,道長梢杭,這世上最難降的妖魔是什么温兼? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮武契,結(jié)果婚禮上募判,老公的妹妹穿的比我還像新娘。我一直安慰自己咒唆,他們只是感情好届垫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著全释,像睡著了一般装处。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上浸船,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天妄迁,我揣著相機(jī)與錄音,去河邊找鬼李命。 笑死登淘,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的项戴。 我是一名探鬼主播形帮,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼槽惫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了辩撑?” 一聲冷哼從身側(cè)響起界斜,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎合冀,沒想到半個月后各薇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡君躺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年峭判,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片棕叫。...
    茶點(diǎn)故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡林螃,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出俺泣,到底是詐尸還是另有隱情疗认,我是刑警寧澤,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布伏钠,位于F島的核電站横漏,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏熟掂。R本人自食惡果不足惜缎浇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望赴肚。 院中可真熱鬧素跺,春花似錦、人聲如沸尊蚁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽横朋。三九已至,卻和暖如春百拓,著一層夾襖步出監(jiān)牢的瞬間琴锭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工衙传, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留决帖,地道東北人。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓蓖捶,卻偏偏與公主長得像地回,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 前面兩節(jié)學(xué)習(xí)了一些shell的基本命令,但是我們并不知道shell進(jìn)程的具體细睡,本節(jié)學(xué)習(xí)一下 1.shell類型 先...
    Miridescent閱讀 1,278評論 2 18
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,159評論 2 33
  • 又來到了一個老生常談的問題谷羞,應(yīng)用層軟件開發(fā)的程序員要不要了解和深入學(xué)習(xí)操作系統(tǒng)呢? 今天就這個問題開始溜徙,來談?wù)劜?..
    tangsl閱讀 4,124評論 0 23
  • 多線程方式一:GCD隊列的3個種類: 自建隊列: 分并行/串行 全局隊列: 屬于并行隊列, 是系統(tǒng)默認(rèn)創(chuàng)建的. 主...
    Handyzzz閱讀 257評論 0 0
  • 好好讀書湃缎,讀好書遇淑人,方能行更遠(yuǎn)蠢壹。 這個道理我們都懂嗓违,可是真的踐行起來卻沒有那么容易。 我自問自己也是愛書之人图贸,...
    安心悅舍閱讀 231評論 0 4