与获取进程相关信息的操作,都在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;

}


Logo

更多推荐