首 页 行业热点 新车 试驾评测 养车用车 车型库

linux中pid gid tgid tid的区别和联系

发布网友

我来回答

1个回答

热心网友

getpid : 取得process id,对于thread,就是取得线程对应进程的id;
对应的system call:
asmlinkage long sys_getpid(void)
1614 {
1615 return current->tgid;
1616 }
tgid = thread group id

/////////////////////////////////////////////////////////////////////////

gettid:取得线程id,如果是process,其实就等于getpid:
#define gettid() syscall(__NR_gettid)
对应的system call:
/* Thread ID - the internal kernel "pid" */
1761 asmlinkage long sys_gettid(void)
1762 {
1763 return current->pid;
17 }

getgid:取得group id,就是user的group id
和用id命令得到的group id是一回事:
bash-3.1$ id
uid=3013(xxx) gid=300(xxxx) groups=300(xxxx),301(platform),505(fpgadrv),9022(gsm)

对于一个thread来说,在kenerl中可以看到他的process id(tgid),还可以看到他的thread id(pid)。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com