定義:
pid_t getpid(void);
表頭文件:
#include<unistd.h>
說明:
getpid()用來取得目前進程的進程識別碼, 許多程序利用取到的此值來建立臨時文件, 以避免臨時文件相同帶來的問題。
返回值:
目前進程的進程識別碼
相關函數:
fork, kill, getpid
示例:
#include <stdio.h> #include <stdlib.h> #include <unistd.h> int main() { pid_t pid; if ((pid = fork()) < 0) { perror("fork"); exit(1); } else if (pid == 0) { printf("child process PID is %d\n", getpid()); printf("child process PGID is %d\n", getpgid(0)); printf("child process PGID is %d\n", getpgrp()); printf("child process PGID is %d\n", getpgid(getpid())); exit(0); } sleep(3); printf("parent process PID is %d\n", getpid()); printf("parent process PGID is %d\n", getpgrp()); return 0; }
運行結果:
child process PID is 4471
child process PGID is 4470
child process PGID is 4470
child process PGID is 4470
parent process PID is 4470
parent process PGID is 4470