setsid() - Unix,Linux 系統呼叫 - 技術教學
Tutorials Point


  Unix 初學者指南
  Unix Shell 程式設計
  高階 Unix
  Unix 有用參考
  Unix 有用資源
  精選閱讀

版權所有 © 2014 tutorialspoint



  首頁     參考     討論論壇     關於 TP  

setsid() - Unix,Linux 系統呼叫


previous next AddThis Social Bookmark Button

廣告

名稱

setsid - 建立一個會話並設定程序組 ID

語法

#include <unistd.h>

pid_t setsid(void);

描述

setsid() 如果呼叫程序不是程序組組長,則建立一個新的會話。呼叫程序是新會話的組長,新程序組的程序組組長,並且沒有控制終端。呼叫程序的程序組 ID 和會話 ID 被設定為呼叫程序的 PID。呼叫程序將是此新程序組和此新會話中的唯一程序。

返回值

呼叫程序的會話 ID。

錯誤

發生錯誤時,返回 -1,並設定 errno。唯一可能發生的錯誤是 EPERM。當任何程序的程序組 ID 等於呼叫程序的 PID 時,就會返回它。因此,特別是當呼叫程序已經是程序組組長時,setsid() 就會失敗。

註釋

透過 fork(2) 建立的子程序繼承其父程序的會話 ID。會話 ID 在 execve(2) 中保留。

程序組組長是指程序組 ID 等於其 PID 的程序。為了確保 setsid() 成功,fork() 和 exit(),並讓子程序執行 setsid()。

符合標準

SVr4、POSIX.1-2001。

參見



previous next Printer Friendly

廣告


  

廣告



廣告
© . All rights reserved.