進程控制函數(1)-getpgid() getpgrp() 獲取當前進程的進程組ID


定義:
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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM