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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux-进程、进程组、作业、会话、控制终端详解

發布時間:2025/5/22 linux 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux-进程、进程组、作业、会话、控制终端详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、進程

  傳統上,Unix操作系統下運行的應用程序、 服務器以及其他程序都被稱為進程,而Linux也繼承了來自unix進程的概念。必須要理解下,程序是指的存儲在存儲設備上(如磁盤)包含了可執行機器指 令(二進制代碼)和數據的靜態實體;而進程可以認為是已經被OS從磁盤加載到內存上的、動態的、可運行的指令與數據的集合,是在運行的動態實體。這里指的 指令和數據的集合可以理解為Linux上ELF文件格式中的.text .data數據段。

二、進程組

  每個進程除了有一個進程ID之外,還屬于一個進程組,那什么是進程組呢?

  顧名思義,進程組就是一個或多個進程的集合。這些進程并不是孤立的,他們彼此之間或者存在父子、兄弟關系,或者在功能上有相近的聯系。每個進程都有父進程,而所有的進程以init進程為根,形成一個樹狀結構

  那為啥Linux里要有進程組呢?其實,提供進程組就是為了方便對進程進行管理。假設要完成一個任務,需要同時并發100個進程。當用戶處于某種原因要終止 這個任務時,要是沒有進程組,就需要手動的一個個去殺死這100個進程,并且必須要嚴格按照進程間父子兄弟關系順序,否則會擾亂進程樹。有了進程組,就可以將這100個進程設置為一個進程組,它們共有1個組號(pgrp),并且有選取一個進程作為組長(通常是“輩分”最高的那個,通常該進程的ID也就作為進程組的ID)。現在就可以通過殺死整個進程組,來關閉這100個進程,并且是嚴格有序的。組長進程可以創建一個進程組,創建該組中的進程,然后終止。只要在某個進程組中一個進程存在,則該進程組就存在,這與其組長進程是否終止無關

   進程必定屬于一個進程組,也只能屬于一個進程組?一個進程組中可以包含多個進程。?進程組的生命周期從被創建開始,到其內所有進程終止或離開該組。

  內核中,sys_getpgrp()系統調用用來獲取當前進程所在進程組號;sys_setpgid(int pid, int pgid)調用用來設置置頂進程pid的進程組號為pgid。

三、作業

  Shell分前后臺來控制的不是進程而是作業(Job)或者進程組(Process Group)。一個前臺作業可以由多個進程組成,一個后臺也可以由多個進程組成,Shell可以運行一個前臺作業任意多個后臺作業,這稱為作業控制。

  作業與進程組的區別:如果作業中的某個進程又創建了子進程,則子進程不屬于作業。一旦作業運行結束,Shell就把自己提到前臺,如果原來的前臺進程還存在(如果這個子進程還沒終止),它自動變為后臺進程組。

四、會話

  再看下會話。由于Linux是多用戶多任務的分時系統,所以必須要支持多個用戶同時使用一個操作系統。當一個用戶登錄一次系統就形成一次會話 。一個會話可包含多個進程組,但只能有一個前臺進程組每個會話都有一個會話首領(leader),即創建會話的進程。 sys_setsid()調用能創建一個會話。必須注意的是,只有當前進程不是進程組的組長時,才能創建一個新的會話。調用setsid 之后,該進程成為新會話的leader。

  一個會話可以有一個控制終端。這通常是登陸到其上的終端設備(在終端登陸情況下)或偽終端設備(在網絡登陸情況下)。建立與控制終端連接的會話首進程被稱為控制進程。一個會話中的幾個進程組可被分為一個前臺進程組以及一個或多個后臺進程組。所以一個會話中,應該包括控制進程(會話首進程),一個前臺進程組和任意后臺進程組。?

  一次登錄形成一個會話

  一個會話可包含多個進程組,但只能有一個前臺進程組

五、控制終端

  會話的領頭進程打開一個終端之后, 該終端就成為該會話的控制終端 (SVR4/Linux)??

  與控制終端建立連接的會話領頭進程稱為控制進程 (session leader)?

  一個會話只能有一個控制終端?

  產生在控制終端上的輸入和信號將發送給會話的前臺進程組中的所有進程?

  終端上的連接斷開時 (比如網絡斷開或 Modem 斷開), 掛起信號將發送到控制進程(session leader)

?

  進程屬于一個進程組,進程組屬于一個會話,會話可能有也可能沒有控制終端。一般而言,當用戶在某個終端上登錄時,一個新的會話就開始了。進程組由組中的領頭進程標識,領頭進程的進程標識符就是進程組的組標識符。類似地,每個會話也對應有一個領頭進程

  同一會話中的進程通過該會話的領頭進程和一個終端相連,該終端作為這個會話的控制終端。一個會話只能有一個控制終端,而一個控制終端只能控制一個會話。用戶通過控制終端,可以向該控制終端所控制的會話中的進程發送鍵盤信號。

?

  ?同一會話中只能有一個前臺進程組,屬于前臺進程組的進程可從控制終端獲得輸入,而其他進程均是后臺進程,可能分屬于不同的后臺進程組。

?  當我們打開多個終端窗口時,實際上就創建了多個終端會話。每個會話都會有自己的前臺工作和后臺工作

轉載于:https://www.cnblogs.com/JohnABC/p/4079669.html

總結

以上是生活随笔為你收集整理的Linux-进程、进程组、作业、会话、控制终端详解的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产999精品视频 | 国产一二视频 | 成人久久久久 | 亚洲成人看片 | 久久久久久高清 | 婷婷狠狠操 | 日本三级久久 | 色老头在线视频 | 天天综合永久入口 | 欧美 日韩 国产 在线 | 1000部国产精品成人观看 | 日韩欧美亚洲国产精品字幕久久久 | 国产精品第一国产精品 | 欧美性xxxxx极品少妇 | 欧美在线91 | 色综合久久久久综合体桃花网 | 久久99精品久久久久久三级 | 欧美三级三级三级爽爽爽 | 怡红院av在线 | 成人免费性生活视频 | 本庄优花番号 | 日本肉体xxxx裸体xxx免费 | 美女十八毛片 | 九九午夜 | 快播日韩| 亚洲最大激情网 | 男人视频网站 | 人妻无码一区二区三区四区 | 欧美黑人性受xxxx精品 | 日韩av网址大全 | 清纯粉嫩极品夜夜嗨av | 巨胸大乳www视频免费观看 | 亚洲天堂资源在线 | 亚洲精品乱码久久久久久久久久久久 | 国产一区二区三区色淫影院 | 亚洲AV成人无码精品久久盆瓶 | 国产精品美女视频 | 国产黄片一区二区三区 | 日日碰狠狠添天天爽无码av | av福利在线免费观看 | 午夜影视大全 | 苏晴忘穿内裤坐公交车被揉到视频 | 麻豆av一区二区三区在线观看 | 啪啪小视频 | 成人网导航 | 四虎在线观看视频 | 精品一区二区三区蜜臀 | 国产一级二级三级 | 国产一级伦理片 | 91黄色免费视频 | 国产精品成人久久电影 | 日本成人精品 | 9191久久| 国精品无码一区二区三区 | 色爱综合区| 亚洲综合情 | 午夜免费高清视频 | 永久免费精品影视网站 | 99精品在线观看视频 | 高清免费视频日本 | 狠狠操2019| 国产精品一区二区电影 | 四虎国产成人精品免费一女五男 | 天堂在线亚洲 | 国产曰肥老太婆无遮挡 | 大乳女喂男人吃奶 | 国产一区视频在线播放 | 精品久久福利 | 狠狠爱av | av一区在线播放 | 亚洲成a人v欧美综合天堂麻豆 | 日韩伊人久久 | 97一区二区三区 | 北条麻妃在线一区 | 亚洲中文字幕无码一区二区三区 | 久久国产一 | 精品一区二区三区人妻 | 韩国一级淫一片免费放 | 欧美一级二级三级视频 | 成人免费毛片色戒 | 国产1区2区3区4区 | 青青青免费视频观看在线 | 欧美日韩在线影院 | 学生孕妇videosex性欧美 | 欧美乱淫视频 | 精品久久久999 | 中国免费观看的视频 | 污视频网站免费观看 | 欧美一级性生活视频 | 国产精品视频大全 | 日韩欧美久久久 | 久久精品噜噜噜成人 | 一区中文字幕 | 韩日一区二区 | 超在线视频 | www.久久av| 一区二区三区视频免费 | 上原亚衣在线观看 | 龚玥菲三级露全乳视频 |