8.2進程標識符
#include <unistd.h>
pid_t getpid(void);
pid_t getppid(void);
uid_t getuid(void);
uid_t geteuid(void);
gid_t getgid(void);
gid_t getegid(void);
8.3 fork函數
#include <unistd.h>
pid_t fork(void);//子進程中返回0,父進程中返回子進程ID,出錯返回-1;
8.6wait和waitpid函數
#include <sys/wait.h>
pid_t wait(int *statloc);
pid_t waitpid(pid_t pid,int *statloc,int options);
檢查所返回的終止狀態的宏:
WIFEXITED(status)
WIFSIGNALED(status)
WIFSTOPPED(status)
WIFCONTINUED(status)
避免殭屍進程的方法:兩次調用fork();
8.10 exec函數
#include <unistd.h>
int execl(const char *pathname,const char *arg0,....);
int execv(const char *pathname,char *const argv[]);
int execle(const char *pathname,const char *arg0,....);
int execve(const char *pathname,char *const argv[],char *const envp[]);
int execlp(const char *filename,const char *arg0,....);
int execvp(const char *filename,char *const argv[]);
8.13 system函數
#include <stdlib.h>
int system(const char *cmdstring);