与获取进程相关信息的操作,都在unistd.h文件中,常用的有如下一些函数。
getuid
函数原型:uid_t getuid(void);
函数功能:获取调用进程的用户的ID。
函数返回:调用进程的用户的ID。
声明文件:unistd.h
getgid
函数原型:gid_t getgid(void);
函数功能:获取调用进程的用户组的ID。
函数返回:调用进程的用户组的ID。
声明文件:unistd.h
getpid
函数原型:pid_t getpid(void);
函数功能:获取进程的ID。
函数返回:进程的ID。
声明文件:unistd.h
getpgid
函数原型:pid_t getpgid(pid_t pid);
函数功能:获取进程组的ID。
函数返回:进程组的ID。
参数列表:args[0]是进程ID。
声明文件:unistd.h
getpgrp
函数原型:pid_t getpgrp(void);
函数功能:获取进程组的ID。
函数返回:进程组的ID。
参数列表:空
声明文件:unistd.h
getppid
函数原型:pid_t getppid(void);
函数功能:获取进程的父进程的ID。
函数返回:进程的父进程的ID。
声明文件:unistd.h
测试程序:
#include "unistd.h" int main(void) { int uid = getuid(); int gid = getgid(); int pid = getpid(); int pgid = getpgid(pid); int pgrp = getpgrp(); int ppid = getppid(); printf("uid = %d, gid = %d, pid = %d, pgid = %d, pgrp = %d, ppid = %d\n", uid, gid, pid, pgid, pgrp, ppid); return 0; }