linux 與會話相關的一些概念 登入過程

2021-10-03 10:43:05 字數 1263 閱讀 1917

程序組是乙個或多個程序的集合。程序組由程序組id(pgid)來唯一標識。每個程序組都有乙個組長程序,程序組id就是組長程序的程序號。

是乙個或多個程序組的集合。

一般乙個使用者登入後新建乙個會話(開啟終端),每個會話也有乙個id來標識(sid)。登入後的第乙個程序叫做會話領頭程序(session leader),通常是乙個shell/bash,即乙個shell程式。對於會話領頭程序,其pid=sid。

為什麼是乙個使用者登入後新建乙個會話呢?

一般取去公司上班,我們見不到伺服器真機,而是公司為每個員工分配乙個 使用者名稱和密碼,我們可以通過遠端進行登入。這個時候我們就登入到了乙個終端,因此說乙個使用者登入後新建乙個會話。

注意:每個會話有且只有乙個前台程序組,但會有0個或者多個後台程序組。

每個程序還有乙個屬性,終端程序組id(tpgid),用來標識乙個程序是否處於乙個和終端相關的程序組中。前台程序組中的程序的tpgid=pgid,後台程序組的pgid≠tpgid(d一般前台程序組id等於終端id,而後台程序組id不等於終端id)。若該程序和任何終端無關,其值為-1。通過比較他們來判斷乙個程序是屬於前台程序組,還是後台程序組。

該圖說明,shell也只是乙個程式,稱為命令列直譯器。用來解讀終端傳送給作業系統的命令。開啟乙個終端後,會首先啟動乙個shell程序。並且該終端會與這個shell程序關聯起來。shell解讀終端傳輸的命令,傳送給作業系統,然後呼叫相關的系統呼叫,然後將結果再傳遞到終端上。

(1)實驗步驟:

1)在終端中執行下述命令

ps -ajx命令

3)觀察第乙個終端中兩個程序的程序狀態,結果如下圖:

4)在第乙個終端中按ctrl+z 再次觀察結果

通過第乙個實驗結果可以看出:

(2)觀察行號232行233行:

(3)觀察行號236行237行:

(4)同時觀察觀察前232 233 236 237行

(5)通過第2個實驗結果可以看出

關於MySQL的全域性變數與會話變數的一些思考

系統變數又分為全域性變數與會話變數。全域性變數在mysql啟動的時候由伺服器自動將它們初始化為預設值,這些預設值可以通過更改my.ini這個檔案來更改。會話變數在每次建立乙個新的連線的時候,由mysql來初始化。mysql會將當前所有全域性變數的值複製乙份。來做為會話變數。也就是說,如果在建立會話以...

java多執行緒一些相關概念

同步和非同步 同步方法呼叫開始後,需等到本次呼叫有結果才繼續往後執行 非同步呼叫發生後,呼叫者無需等待返回,繼續後續執行。舉個例子你出去打籃球先到樓下小賣部買瓶水,老闆店裡現在沒貨,要去別的地方取,這個時候你要是等老闆取到水給你你再去打籃球那這就是同步呼叫,而要是你跟老闆約定水到了以後給你送到籃球場...

安裝linux前的一些概念

所謂的目錄樹結構 directory tree 就是以根目錄為主,然後向下呈現分支狀的目錄結構的一種檔案結構。所以,整個目錄樹結構最重要的就是那個根目錄 root directory 這個根目錄的表示方法為一條斜線 所有的檔案都與目錄數有關。所有的檔案都是由根目錄 衍生來的,而次目錄之下還能夠有其他...