中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

運(yùn)行 tail | grep 后按下 Ctrl – C 的過程中發(fā)生了什么

2018-08-22    來源:importnew

容器云強(qiáng)勢上線!快速搭建集群,上萬Linux鏡像隨意使用

從?https://ubuntuforums.org/showthread.php?t=1761120&s=bbaf101ffbcc9abdb032d90cff01fc36?中看到的,記錄一下

在shell中運(yùn)行 tail|grep 時(shí)發(fā)生了什么

  1. 運(yùn)行tail
    • shell調(diào)用fork產(chǎn)生子進(jìn)程
    • 重置信號(hào)處理函數(shù)為SIG_DFL
    • 產(chǎn)生新的進(jìn)程組,并將子進(jìn)程設(shè)置為該進(jìn)程組的leader
    • exec tail
  2. 運(yùn)行g(shù)rep
    • shell調(diào)用fork產(chǎn)生子進(jìn)程
    • 重置信號(hào)處理函數(shù)為SIG_DFL
    • 將進(jìn)程加入到?tail?產(chǎn)生的進(jìn)程組中
    • exec tail
  3. 將新產(chǎn)生的進(jìn)程組放到前臺(tái),控制終端
    • tcsetpgrp(STDIN_FILENO, tail進(jìn)程組);

當(dāng)按下Ctrl-c時(shí)發(fā)生了什么

根據(jù)?setpgrp?manual page 的說法,按下?Ctrl-c?后:

  • 終端產(chǎn)生?SIGINT?信號(hào)
  • 前臺(tái)進(jìn)程組中的所有進(jìn)程都會(huì)接收到?SIGINT?信號(hào)然后退出(默認(rèn)動(dòng)作)
  • shell通過調(diào)用?waitpid?清理進(jìn)程表中子進(jìn)程信息

標(biāo)簽:

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:MySQL 中 Identifier Case Sensitivity

下一篇:利用 Lambda 表達(dá)式實(shí)現(xiàn) Java 中的惰性求值