會話

創建會話

創建一個會話需要注意以下6點注意事項:

  1. 調用進程不能是進程組組長,該進程變成新會話首進程(session header)
  2. 該進程成為一個新進程組的組長進程。
  3. 需有root權限(ubuntu不需要)
  4. 新會話丟棄原有的控制終端,該會話沒有控制終端
  5. 該調用進程是組長進程,則出錯返回
  6. 建立新會話時,先調用fork, 父進程終止,子進程調用setsid

?

getsid函數

?

獲取進程所屬的會話ID

?

pid_t getsid(pid_t pid); 成功返回調用進程的會話ID;失敗-1,設置errno

?

pid0表示察看當前進程session ID

?

ps ajx命令查看系統中的進程。參數a表示不僅列當前用戶的進程,也列出所有其他用戶的進程,參數x表示不僅列有控制終端的進程,也列出所有無控制終端的進程,參數j表示列出與作業控制相關的信息。

?

組長進程不能成為新會話首進程,新會話首進程必定會成為組長進程。

?

setsid函數

?

創建一個會話,并以自己的ID設置進程組ID,同時也是新會話的ID

?

pid_t setsid(void); ?成功返回調用進程的會話ID;失敗-1,設置errno

?

調用了setsid函數的進程,既是新的會長,也是新的組長。

?

練習:fork一個子進程,并使其創建一個新會話查看進程組ID、會話ID前后變化

?

轉載于:https://www.cnblogs.com/lr1402585172/p/10571170.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/384257.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/384257.shtml
英文地址,請注明出處:http://en.pswp.cn/news/384257.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

守護進程

守護進程 Daemon(精靈)進程,是Linux中的后臺服務進程,通常獨立于控制終端并且周期性地執行某種任務或等待處理某些發生的事件。一般采用以d結尾的名字。 Linux后臺的一些系統服務進程,沒有控制終端,不能直接和用戶交互。不受用戶登…

(C++版)鏈表(三)——實現雙向鏈表的創建、插入、刪除等簡單操作

http://blog.csdn.net/fisherwan/article/details/25649073 鏈表&#xff08;三&#xff09;實現雙向鏈表操作&#xff0c;代碼如下&#xff1a; [cpp] view plaincopy <span style"font-size:18px;" deep"5">#include <iostream> #include …

(C++版)鏈表(四)——實現雙向循環鏈表創建、插入、刪除等簡單操作

http://blog.csdn.net/fisherwan/article/details/25649271 鏈表&#xff08;四&#xff09;實現雙向循環鏈表簡單操作&#xff0c;代碼如下&#xff1a; [cpp] view plaincopy <span style"font-size:18px;" deep"5">#include <iostream> #…

java web開發環境搭建

1.安裝并配置JDK環境&#xff08;1&#xff09;安裝過程省略&#xff08;建議安裝在自己指定的統一目錄下&#xff0c;方便后期查找&#xff09;。 &#xff08;2&#xff09;配置環境變量 JAVA_HOME: C:\Java\jdk\jdk1.7.0_45 &#xff08;jdk安裝目錄路徑&#xff09; Path:…

java script簡介

一.JavaScript介紹&#xff08;摘抄于百度百科&#xff09; JavaScript一種直譯式腳本語言&#xff0c;是一種動態類型、弱類型、基于原型的語言&#xff0c;內置支持類型。它的解釋器被稱為JavaScript引擎&#xff0c;為瀏覽器的一部分&#xff0c;廣泛用于客戶端的腳本語言&a…

雙向鏈表的創建和相關操作

http://blog.csdn.net/jw903/article/details/38947753 雙向鏈表其實是單鏈表的改進。 當我們對單鏈表進行操作時&#xff0c;有時你要對某個結點的直接前驅進行操作時&#xff0c;又必須從表頭開始查找。這是由單鏈表結點的結構所限制的。因為單鏈表每個結點只有一個存儲直接后…

鏈表各類操作詳解

http://blog.csdn.net/hackbuteer1/article/details/6591486/ 鏈表概述    鏈表是一種常見的重要的數據結構。它是動態地進行存儲分配的一種結構。它可以根據需要開辟內存單元。鏈表有一個“頭指針”變量&#xff0c;以head表示&#xff0c;它存放一個地址。該地址指向一個元…

信號和槽

信號槽是 Qt 框架引以為豪的機制之一。所謂信號槽&#xff0c;實際就是觀察者模式。當某個事件發生之后&#xff0c;比如&#xff0c;按鈕檢測到自己被點擊了一下&#xff0c;它就會發出一個信號&#xff08;signal&#xff09;。這種發出是沒有目的的&#xff0c;類似廣播。如…

登陸界面

界面展示&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title>電子郵件登錄</title><link href"style.css" type"text/css" rel"stylesheet"></head><body>…

C語言實現雙向鏈表刪除、插入、雙向輸出

http://www.cnblogs.com/dyllove98/archive/2013/07/31/3228857.html #include<cstdio> #include<cstdlib> typedef struct DoubleLinkedList {int data;struct DoubleLinkedList *pre;struct DoubleLinkedList *next; }DlinkedList_Node; //建立鏈表 DlinkedList_…

servlet概述

一、什么是Servlet呢&#xff1f; servlet 是由sun公司提供的動態web資源開發技術&#xff0c;本質上就是一段Java程序&#xff0c;這段java程序無法獨立運行&#xff0c;必須放在Servlet容器&#xff08;比如&#xff1a;tomcat服務器&#xff09;中運行&#xff0c;由容器調用…

運用遞歸將兩個鏈表進行連接

http://blog.csdn.net/zjut_ym/article/details/45008259 建立2個數據項按從大到小排列的鏈表&#xff0c;實現2個鏈表的合并&#xff0c;并輸出合并后鏈表的數據項。 函數代碼如下 #include<iostream> using namespace std; struct node{int data;node *next; }; node …

C++ 類的深拷貝與淺拷貝||深拷貝通過重載拷貝構造函數與重載賦值運算符實現

http://blog.csdn.net/wangshihui512/article/details/9842225 在面向對象程序設計中&#xff0c;對象間的相互拷貝和賦值是經常進行的操作。 如果對象在申明的同時馬上進行的初始化操作&#xff0c;則稱之為拷貝運算。例如&#xff1a; class1 A("Time"); class1…

C++ 類的const成員函數

http://blog.csdn.net/wangshihui512/article/details/9823739 我們定義的類的成員函數中&#xff0c;常常有一些成員函數不改變類的數據成員&#xff0c;也就是說&#xff0c;這些函數是"只讀"函數&#xff0c;而有一些函數要修改類數據成員的值。如果把不改變數據…

用servlet校驗密碼2

js //創建Ajax對象&#xff0c;不同瀏覽器有不同的創建方法&#xff0c;其實本函數就是一個簡單的new語句而已。 function createXMLHttpRequest() {var XMLHttpRequest1;if (window.XMLHttpRequest) {XMLHttpRequest_test new XMLHttpRequest();} else if (window.ActiveXOb…

【筆試】:編程實現C++string 類成員函數

http://blog.csdn.net/wangshihui512/article/details/9792309 已知String類聲明如下&#xff1a; [cpp] view plaincopy print?class String { public: String(const char *str NULL); // 通用構造函數 String(const String &another); // 拷貝…

Qt中字符串之間的轉換

//QString -> C string -> char * str.ToStdString().data(); //先轉換為C的標準編碼//QString -> QByteArray QString buf "123456"; QByteArray a buf.toUtf8();//中文 a buf.toLocal8Bit(); //轉換為本地編碼 //QByteArray -> char * char *b …

(C語言版)棧和隊列(一)——實現鏈式棧和鏈式隊列的基本操作以及遇到的問題

http://blog.csdn.net/fisherwan/article/details/20055179 首先要感謝這位大牛的一篇博客&#xff0c;地址如下&#xff1a;http://blog.csdn.net/hguisu/article/details/7674195 當然還有網上一些其他的資料&#xff0c;今天自己寫了一下鏈式棧和鏈式隊列的程序。其中在釋放…

Cookie的使用

ookie簡介 1. 定義 cookie是由服務器發送給客戶端&#xff08;瀏覽器&#xff09;的小量信息。 2. 作用 cookie是鍵值對形式存儲的少量信息&#xff0c;那它有什么作用呢&#xff1f; 我們知道&#xff0c;平時上網時都是使用無狀態的HTTP協議傳輸出數據&#xff0c;這意味著客…

循環鏈表解決約瑟夫問題(簡化版)

http://blog.csdn.net/jw903/article/details/38965477 約瑟夫環是一個經典的數學的應用問題&#xff1a;已知N個人&#xff08;以編號1&#xff0c;2&#xff0c;3...N分別表示&#xff09;圍坐在一張圓桌周圍。從編號為1的人開始報數&#xff0c;數到M的那個人出列&#xff1…