回覆列表
  • 1 # Congyanqiu

    一:基本屬性

    1,程序號(PID):是系統維護的唯一標識一個程序的正整數,程序號無法在使用者態修改;

    獲取函式:// come from /usr/include/unistd.h extern _pid_t getpid(void);返回PID

    獲取命令:ps aux

    2,父程序號(PPID):任何程序(除了init程序)都是有另一個程序建立,該程序稱為被建立程序的父程序,被建立程序稱為子程序

    獲取函式:extern _pid_t getppid(void);返回PPID

    3,程序組號(PGID):程序組是一個或多個程序的集合,他們與統一作業相關聯,可以接受來自同一終端的各種資訊,每個程序組有唯一的程序組號,程序組號可以在使用者層修改。

    獲取函式:extern _pid_t getpgid(void);返回PGID

    pid_t getpgrp(void);返回PGID

    設定程序組ID函式:int setpgid(pid_t, pid_t pgid);

    第一個引數為欲修改程序PGID的程序PID,第二個引數為新的程序組號PGID,

    如果這兩個引數相等,則由pid指定的程序變成程序組組長;

    如果pid為0,則修改當前程序PGID;

    如果pgid為0,則由pid指定的程序的PID將用於程序組號PGID。

    二:使用者屬性

    1,程序真實使用者號(RUID):建立該程序的使用者UID為該程序的真實使用者號(RUID)或實際使用者號

    獲取函式:extern _uid_t getuid(void);

    2,程序有效使用者號(EUID):EUID主要用於許可權檢測,多數情況下,RUID和EUID相同,如果可執行檔案的setuid位有效,則該檔案的建立者之外的使用者執行該檔案時,EUID和RUID不同,即有效使用者號為該檔案的擁有者。

    獲取函式:extern _uid_t geteuid(void);

    3,程序使用者組號(GID):建立該檔案的程序擁有的程序組號為該檔案的程序使用者組號(GID),

    獲取函式:extern _uid_t getgid(void);

    4,有效程序使用者組號(EGID)

    一般情況下,EGID和GID相同,但是,當某可執行檔案設定了setgid位,那麼任何使用者執行此程式時,其有效使用者號EGID為該檔案的擁有者所在的組。

    獲取函式:extern _uid_t getegid(void);

  • 中秋節和大豐收的關聯?
  • 卡其色毛衣背心怎麼搭配?