linux – Unix Proc Directory

前端之家收集整理的这篇文章主要介绍了linux – Unix Proc Directory前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

最佳答案
您实际上想要/ 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行上的第一个数字.您可以通过查看/ etc / passwd查找哪些uid号码映射到哪个用户名,或调用相关函数将uid映射到您正在使用的任何语言的用户名.

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

猜你在找的Linux相关文章