代碼如下
#include"basic.h"
int main(int argc, char * argv [ ])
{
///*
pid_t pid,ppid,pgid;
pid = getpid();
printf("pid = %d\n",pid);
ppid = getppid();
printf("ppid = %d\n",ppid);
pgid = getpgid(pid);
printf("pgid = %d\n",pgid);
return 0;
}
運行的結果父行程在不同的環境下不同。
ubuntu 18.04 ppid為bash行程,行程號4110
ubnutu 18.04 root權限下 ppid為另一bash行程,可由ps -a找到,行程號4895
不是說沒有父行程會掛到init行程下,一般init行程行程號為1嗎?
求大神解惑,謝謝
uj5u.com熱心網友回復:
那你是怎么執行程式的?是不是打開一個終端,終端默認啟動了bash(否則的.bash_profile定義的環境變數被什么讀入的)?如果是這樣,那你的父行程是bash沒問題啊
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/64599.html
標籤:C語言
上一篇:輸入正整數n,在輸入n個數,得出他們的最小數(我這個代碼有問題,我一直找不出來,就是輸入所以的數后,一直得不出答案,不知道是為啥)
