一:基本屬性
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);
一:基本屬性
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);