当前位置:  开发笔记 > 编程语言 > 正文

Unix Proc Directory

如何解决《UnixProcDirectory》经验,为你挑选了2个好方法。

我试图找到包含当前用户ID的虚拟文件.我被告知我可以在proc目录中找到它,但不太确定哪个文件.



1> Jerub..:

您真的想要/proc/self/status,它将为您提供有关当前执行过程的信息.

这是一个例子:

$ cat /proc/self/status
Name:   cat
State:  R (running)
Tgid:   17618
Pid:    17618
PPid:   3083
TracerPid:      0
Uid:    500 500 500 500
Gid:    500 500 500 500
FDSize: 32
Groups: 10 488 500 
VmPeak:     4792 kB
VmSize:     4792 kB
VmLck:         0 kB
VmHWM:       432 kB
VmRSS:       432 kB
VmData:      156 kB
VmStk:        84 kB
VmExe:        32 kB
VmLib:      1532 kB
VmPTE:        24 kB
Threads:    1
SigQ:   0/32268
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000000000
SigCgt: 0000000000000000
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
Cpus_allowed:   00000003
Mems_allowed:   1
voluntary_ctxt_switches:    0
nonvoluntary_ctxt_switches: 3

您可能想查看Uid和Gid行上的第一个数字.您可以通过查看查找哪些uid编号映射到哪个用户名/etc/passwd,或调用相关函数将uid映射到您正在使用的任何语言的用户名.

理想情况下,您只需调用系统调用getuid()来查找此信息,通过查看这样做会/proc/适得其反.



2> dreamlax..:

为什么不用" id -u"?

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有