日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Unix环境高级编程—进程关系

發布時間:2025/5/22 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Unix环境高级编程—进程关系 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

終端登錄

網絡登錄

進程組

getpgrp(void)

setpgid(pid_t?pid,?pid_)

?

會話:?是一個或多個進程組的集合,通常由shell的管道將幾個進程編成一組。

setsid(void)

getsid(pid_t?pid)

?

會話建立過程,簡述:


???? 其中,xinetd守護進程在監聽到有客戶端請求ssh連接后,fork一個子進程xinetd,然后該子進程exec執行sshd程序(也就圖中的PPID3944),而父進程xinetd則繼續監聽網絡中其他連接請求的到來。

???sshd程序調用login程序,拋出一個登錄shell(圖中PID11081),此時該進程權限為root權限,同時,打開文件描述符012,方便用戶進行輸入用戶名密碼這兩個簡單的交互,如果用戶名密碼準確無誤,則fork一個新的進程作為控制終端(pts/0,該進程ID11085),并降低權限,由root權限更改為登錄用戶名對應的權限。最后,由控制終端fork一個控制進程,來作為與控制終端連接的會話首進程,也就是圖中的PID11086的進程,至此,一個完整的會話建立完畢,我們在這個偽終端中執行的任何命令的進程的PPID都應該為11086(如圖中ps?-ef?grep?webber的父進程都是11086),因為它們都是在這個會話中完成的,而這個會話首進程的進程組ID11086.

?

注:一個會話只能有一個前臺進程組,其他進程組為后臺進程組。在終端鍵入中斷鍵(Ctrl+C),都會將信號送到前臺進程組fg,如果將掛斷信號發送到控制進程(會話首進程11086),則pts斷開連接。

保證程序能與控制終端對話的方法是open文件?/dev/tty或?/dev/pts/0?

?

作業控制:

終端IO和終端產生的信號總是從前臺進程組連接到實際終端。

后臺進程的輸出是否出現在終端是可選擇的,如果選擇讓后臺進程輸出不出現在終端(用 stty 命令),則SIGTTOU會將該進程在后臺阻塞。

?

對于前臺、后臺作業以及終端驅動程序的作業控制功能如下圖:

?


Shell執行程序

?

使用的登錄shell不同,則創建各個進程的順序也可能不同。

?

ps?-o?pid,ppid,pgid,tpgid,sid,comm|cat?|cat

對于這條命令,shell環境下,首先創建執行管道中最后一個cat的進程,然后它fork兩個進程,分別是倒數第二個cat和第一個ps,然后它們分別執行exec,通過管道完成任務(這里可能產生競爭條件),最終輸出到終端。而在Bash環境下Bash將是管道中三個命令的父進程,bash是后臺進程,而那三個命令是前臺進程。

?

孤兒進程組:

????? 這里所說的孤兒進程組其實很好理解,我們可以舉一個最簡單的例子,在我們通過pts創建一個會話時,在/bin/bash的登錄環境下,系統會指定一個會話首進程來作為其他命令進程的父進程,這個會話首進程會做為后臺進程組的組長(假設PID=1000),這時,我們可以執行一段代碼在前臺執行(假設執行程序的進程的PID=2000),在這段代碼中fork了一個子進程(假設PID=3000),那么PID20003000的父子進程組成了一個前臺進程組,其中,父進程PID=2000的作為前臺進程組的組長。那么,當我們先把PID=3000的子進程掛起停止運行后,再殺死PID=2000的父進程或者父進程主動exit,這時,這個只有PID=3000的子進程的前臺進程組成為孤兒進程組,被init收養,同時,這個前臺進程組變為后臺進程組,而會話首進程PID=1000的進程組成為前臺進程組。這時內核可以向孤兒進程組發送SIGCONT信號,使孤兒進程組繼續執行。

???注意,對于孤兒進程組,如果內核用SIGTTIN信號去停止它,則此進程組就再也不會繼續執行,不在接受SIGCONT信號。POSIX.1要求向新孤兒進程組中處于停止狀態的每一個進程發送掛掉信號(SIGHUP),接著向其發送繼續信號(SIGCONT)

???????????? ? ?

轉載于:https://www.cnblogs.com/webber1992/p/5850754.html

總結

以上是生活随笔為你收集整理的Unix环境高级编程—进程关系的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 视频在线中文字幕 | 成人欧美一区二区三区黑人 | 欧美日韩福利视频 | 最新av网站在线观看 | 女同性恋一区二区三区 | 午夜性激情 | 欧美第二页 | 国产一区二区自拍视频 | 日韩欧美色图 | 懂色av一区二区 | 国产精品精品国产色婷婷 | 人人超碰在线 | 中文字幕第八页 | 夜夜操夜夜爽 | 亚洲人一区二区三区 | 91在线无精精品一区二区 | 视频一区在线免费观看 | 蜜桃va | 911亚洲精选 | 亚洲色偷精品一区二区三区 | 封神榜二在线高清免费观看 | 乡村性满足hd | 爱情岛论坛成人 | 亚洲国产精品成人综合在线 | 精品人妻人人做人人爽 | 国产综合图片 | 欧美aaaaa | 欣赏asian国模裸体pics | 超碰97在线人人 | 亚洲色图首页 | 久久久久久久9 | 迈开腿让我尝尝你的小草莓 | 午夜黄色网 | 日韩国产中文字幕 | 波多野结衣成人在线 | 日韩a级大片 | 久久1234 | 日韩avwww | 亚洲最新在线观看 | 美女成人在线 | 美女野外找人搭讪啪啪 | 天天舔天天射天天干 | 国产乱码精品一区二区三区中文 | 婷婷综合在线 | 日韩极品在线观看 | 久久2019| 一区二区日韩国产 | 精品国产18久久久久久二百 | 国产亚洲成av人在线观看导航 | 欧美午夜不卡 | 波多野结衣办公室双飞 | 成人黄色在线观看 | 张津瑜国内精品www在线 | 国产男男gay | 香港三级日本三级韩国三级 | 操视频网站 | 蜜桃色一区二区三区 | 亚洲欧美日韩另类在线 | 六月色播 | 最新欧美大片 | 国产欧美精品 | 亚洲一本之道 | 欧美影院一区二区 | 在线污视频 | 无码精品一区二区三区在线 | 农村老熟妇乱子伦视频 | 少妇一级淫片免费播放 | 亚洲欧美另类图片 | 蜜桃视频久久一区免费观看入口 | 看全黄大色黄大片美女人 | 美女黄色在线观看 | 日本一本久草 | 香蕉成人网 | 自拍视频一区二区 | 亚洲精选91| 欧美激情一区二区视频 | 日韩黄色大全 | 香蕉在线观看视频 | www日日| 国产精品v亚洲精品v日韩精品 | 999av视频| 精品国产av 无码一区二区三区 | 国产一区二区观看 | 国产操| 久久亚洲网站 | 日韩女同互慰一区二区 | 日韩在线一区二区三区四区 | 亚洲激情综合 | 福利视频三区 | 中文字幕在线第一页 | 亚洲精品在线一区二区 | 黄瓜视频在线免费看 | 草一色| 午夜黄色福利视频 | 精品成在人线av无码免费看 | 亚洲黄色免费 | 亚洲911精品成人18网站 | 一起艹在线观看 | 欧美性猛交xxx乱大交3 |