Linux系统调用--getpid/getppid函数详解
【getpid/getppid系统调用】
功能描述:
getpid返回当前进程标识,getppid返回父进程标识。
用法:
#include <sys/types.h>
#include <unistd.h>
pid_t getpid(void);
pid_t getppid(void);
例子:
-
#include <stdlib.h>
-
#include <stdio.h>
-
#include <sys/types.h>
-
int main(void)
-
{
-
pid_t pid;
-
printf("Before fork ...\n");
-
switch(pid = fork()) {
-
case -1:
-
printf("Fock call fail\n");
-
exit(1);
-
case 0:
-
printf("The pid of child is: %d\n", getpid());
-
printf("The pid of child's parent is: %d\n", getppid());
-
printf("Child exiting...\n");
-
exit(0);
-
default:
-
printf("The pid of parent is: %d\n", getpid());
-
printf("the pid of parent's child is: %d\n", pid);
-
}
-
printf("After fork, program exiting...\n");
-
exit(0);
-
}
getpid() getppid()进程和父进程函数
getpid()和getppid()进程和父进程函数,在调用中都不能返回错误,下面的程序输出了他的进程ID和父进程ID,由于不能保证pid_t 能够放进 int类型中去,返回值被转为long 整型输出
-
main()
-
{
-
#include <stdio.h>
-
#include <unistd.h>
-
printf ("I am process %ld",(long)getpid());
-
printf ("My parent is %ld",(long)getppid());
-
return(0);
-
}