子进程继承父进程哪些权限?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了子进程继承父进程哪些权限?相关的知识,希望对你有一定的参考价值。
两者之间有独立的地址空间,子进程从父进程继承用户号和用户组号,环境,打开的文件描述符,堆栈,内存等。 参考技术A 大方好人vfork()孩子拥有哪些特权?
使用vfork()创建的进程是否具有与创建者进程相同的特权级别,即父进程?
示例:如果我以root身份运行进程,vfork()子进程是否拥有相同的执行权限?
答案
fork()
的Open Group(POSIX)规范说:
fork()
函数将创建一个新进程。新进程(子进程)应该是调用进程(父进程)的精确副本,除非详述如下:
由于在该文本下面没有提及UID / GID,您可以推断这些属性是继承的。
最终通过调用适当的属性更改函数(setuid
等)或exec
来更改这些属性。
vfork()
的旧(POSIX 2004或更早版本)规范类似:
vfork()
函数应该等效于fork()
,除非行为是未定义的,如果由vfork()
创建的过程要么修改除用于存储pid_t
的返回值的vfork()
类型的变量之外的任何数据,要么返回vfork()
所用的函数。在成功调用_exit()
或其中一个exec
函数之前调用或调用任何其他函数。
vfork()
的规范已从POSIX 2008(又名POSIX 2016)中删除。
以上是关于子进程继承父进程哪些权限?的主要内容,如果未能解决你的问题,请参考以下文章