UNIX系統管理:系統調用-進程間通信

來源:互聯網
上載者:User
關鍵字 UNIX系統管理 進程間通信

基本上所有的系統調用成功時返回0或正數,失敗時返回負值。

進程的使用者標誌號管理

系統調用的格式

#include <unistd.h>

unsigned short getuid()

unsigned short getgid()

unsigned short geteuid()

unsigned short getegid()

int setuid(int uid)

int setgid(int gid)

int seteuid(int euid)

int setegid(int egid)

參數與功能說明:

前四個系統調用返回進程的實際使用者標誌號,有效使用者標誌號,實際使用者組標誌號和有效組標誌號。 這些調用總能成功。 setuid和setgid用於設置進程的實際使用者(組)標誌號和有效使用者(組)標誌號。 如果調用進程的有效使用者標誌號是超級使用者標誌號,則將調用進程的實際使用者(組)標誌號和有效使用者(組)標誌號設為uid和gid;如果調用進程的有效使用者標誌號不是超級使用者標誌號,但他的實際使用者(組)標誌號為uid(gid)時, 則其有效使用者(組)標誌號設為uid或gid。 如果調用進程的有效使用者標誌號不是超級使用者標誌號,且他的實際使用者(組)標誌號不為uid(gid)時,則調用失敗。 Seteuid和setegid與setuid,setgid類似,只不過只對有效使用者(組)標誌號起作用。

進程標誌號管理

系統調用的格式

#include <sys/types.h>

#include <unistd.h>

int getpid()

int getpgrp()

int getppid()

int setpgrp()

int setsid()

參數與功能說明:

前三個系統調用分別返回進程的進程標誌號,進程組標誌號和其父進程標誌號。 他們總能成功返回。 第四,五個調用設置進程組標誌號,他將調用進程的進程組標誌號改為調用進程的進程標誌號,使其成為進程組首進程,並返回這一新的進程組標誌號。

信號機構

signal系統調用的格式

#include <signal.h>

void (*signal(sig,func))()

int sig; /*信號值 */

void (*func)(); /*信號處理方式*/

參數與功能說明:

按函數func的定義設置調用進程對信號sig的處理方式。 執行成功時,返回調用進程先前對信號sig處理方式的值,失敗時返回-1。 參數func的取值為SIG_DFL,SIG_IGN或使用者信號處理函數位址,分別表示缺省方式,或略方式和捕獲方式。

sig的取值有(重要的列出)

SIGHUP 掛起。 當終端掛起時,該信號發送到和該終端相關的所有進程。 當進程組中的首進程因某種原因中斷時,也向該組的每個進程發送該信號

SIGINT 中斷。 當敲擊中斷鍵時該信號發送到和該終端相關的所有進程

SIGQUIT 退出。 當敲擊(ctrl+\)鍵時該信號發送到和該終端相關的所有進程

SIGKILL 殺死。 殺死進程的信號,他不能被ignore

SIGSEGV 段違例

SIGPIPE 寫管道錯。 當進程向一個沒有任何讀進程的管道寫資料時,發送該信號

SIGALRM 報警時鐘。

SIGTERM 軟體終止信號

SIGUSR1 自訂信號

SIGUSR2 自訂信號

SIGCLD 子進程消亡。 當子進程因某種原因而消亡時,它向父進程發送該信號。

SIGURG 緊急的套介面條件

SIGPOLL 在一條流上發生了使用者指定的事件時,流控制機制發送該信號到使用者進程

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.