#include <stdio.h>
#include <unistd.h>
void son_process_handler(void);
void parent_process_handler(void);
int main(int argc,char ** argv) {
pid_t pid;
pid = fork();
if(pid == 0){
son_process_handler();
}
else{
sleep(1);
printf("new process ID : %d\n",pid);
parent_process_handler();
}
return 0;
}
void son_process_handler(void){
pid_t pid_tmp;
printf("+-+-+-+-+-+- son process +-+-+-+-+-+-\n");
pid_tmp = getpid();
printf("the ID of the process is : %d\n",pid_tmp);
pid_tmp = getppid();
printf("the ID of the parent process is :%d\n",pid_tmp);
pid_tmp = getuid();
printf("the ID of the actural user is:%d\n",pid_tmp);
pid_tmp = geteuid();
printf("the ID of the effective user is :%d\n",pid_tmp);
pid_tmp = getgid();
printf("the ID of the actural group is:%d\n",pid_tmp);
pid_tmp = getegid();
printf("the ID of the effective group is:%d\n",pid_tmp);
printf("+-+-+-+-+-+- son process +-+-+-+-+-+-\n");
}
void parent_process_handler(void){
pid_t pid_tmp;
printf("+-+-+-+-+-+- parent process +-+-+-+-+-+-\n");
pid_tmp = getpid();
printf("the ID of the process is : %d\n",pid_tmp);
pid_tmp = getppid();
printf("the ID of the parent process is :%d\n",pid_tmp);
pid_tmp = getuid();
printf("the ID of the actural user is:%d\n",pid_tmp);
pid_tmp = geteuid();
printf("the ID of the effective user is :%d\n",pid_tmp);
pid_tmp = getgid();
printf("the ID of the actural group is:%d\n",pid_tmp);
pid_tmp = getegid();
printf("the ID of the effective group is:%d\n",pid_tmp);
printf("+-+-+-+-+-+- parent process +-+-+-+-+-+-\n");
}
输出
+-+-+-+-+-+- son process +-+-+-+-+-+-
the ID of the process is : 5750
the ID of the parent process is :5749
the ID of the actural user is:1000
the ID of the effective user is :1000
the ID of the actural group is:1000
the ID of the effective group is:1000
+-+-+-+-+-+- son process +-+-+-+-+-+-
new process ID : 5750
+-+-+-+-+-+- parent process +-+-+-+-+-+-
the ID of the process is : 5749
the ID of the parent process is :2330
the ID of the actural user is:1000
the ID of the effective user is :1000
the ID of the actural group is:1000
the ID of the effective group is:1000
+-+-+-+-+-+- parent process +-+-+-+-+-+-
Process finished with exit code 0