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

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;
1764 }

 

 

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)

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值