PROCESS SYSTEM CALL中的PID变量类型是什么?

时间:2015-01-19 21:39:06

标签: c process operating-system fork pid

  

这是创建子进程的代码的一部分

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>

main()
{
  pid_t pid;
  

pid_t被声明为pid的变量。但是它们与整数相同。

  int x = 5;
  pid = fork();
  

fork()是创建子进程的函数。

  x++;

  if(pid<0)
  {
    printf("process creation error");
    exit(-1);
  }
  else if(pid==0)
  {
    printf("Child Process");
    printf("\nChild Process ID is %d",getpid());
x++;
    printf("\nValue of X is %d",x);  
    printf("\nProcess id of parent is %d",getppid()); 
  }

1 个答案:

答案 0 :(得分:1)

变量pid的类型为pid_t。如何定义pid_t本身取决于操作系统。在Linux中,它的定义如下:

typedef __pid_t pid_t;

__pid_t最终定义为int。见GCC declarations: typedef __pid_t pid_t?