第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Ctrl-C如何終止子進程?

Ctrl-C如何終止子進程?

慕哥6287543 2019-11-14 14:42:04
我試圖了解CTRL+ 如何C終止子進程而不終止父進程。我在某些腳本外殼中看到了這種行為,例如bash您可以在其中啟動一些長時間運行的進程,然后通過輸入CTRL- 終止它,然后C控件返回到外殼。您能解釋一下它是如何工作的,尤其是為什么父(shell)進程不會終止?外殼程序是否必須對CTRL+ C事件做一些特殊處理,如果是,它到底是做什么的?
查看完整描述

3 回答

?
郎朗坤

TA貢獻1921條經(jīng)驗 獲得超9個贊

首先,請一直閱讀POSIX終端接口上的Wikipedia文章。


該SIGINT信號是由終端線紀(jì)律產(chǎn)生,并且廣播到終端的中的所有進程前臺進程組。您的外殼程序已經(jīng)為您運行的命令(或命令管道)創(chuàng)建了一個新的進程組,并告訴終端該進程組是其(終端的)前臺進程組。每個并發(fā)命令管道都有其自己的進程組,而前臺命令管道是外殼程序已將其編程到終端中的進程組作為終端的前臺進程組的進程。在前臺和后臺之間切換“工作”(除了一些細節(jié)之外)僅是shell告訴終端哪個進程組現(xiàn)在是前臺。


Shell進程本身完全位于另一個進程組中,因此當(dāng)這些進程組之一位于前臺時不會接收信號。就這么簡單。


查看完整回答
反對 回復(fù) 2019-11-14
  • 3 回答
  • 0 關(guān)注
  • 1482 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號