ps命令中进程的flag问题

在man page中ps命令中的flag描述如下:

PROCESS FLAGS
       The sum of these values is displayed in the "F" column, which is provided by the flags output specifier:

               1    forked but didn't exec
               4    used super-user privileges

下面root是运行ps时候输出的flag(第一列数字):第一个是4,第二个是0

[root@CN ~]# ps -elf | grep ps
4 R root     29789 29772  0  80   0 - 37766 -      23:28 pts/0    00:00:00 ps -elf
[root@CN ~]# ps -lf | grep ps
0 R root     29798 29772  0  80   0 - 37766 -      23:30 pts/0    00:00:00 ps -lf

下面是普通用户运行ps时候输出的flag(第一列数字):都是0,0

[user@CN ~]$ ps -elf | grep ps
0 R user      29769 29273  0  80   0 - 37766 -      23:27 pts/3    00:00:00 ps -elf
[umr@CN ~]$ ps -lf | grep ps
0 R user      29796 29273  0  80   0 - 37766 -      23:30 pts/3    00:00:00 ps -lf

我的问题是为什么root在执行elf的时候flag会变成4,而普通用户不会变?Linux下的super-user privileges指的只是root用户的身份吗,还是包括了别的,比如用到了内核的某些功能之类的?

阅读 2.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题