vfork()孩子拥有哪些特权?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)中删除。

以上是关于vfork()孩子拥有哪些特权?的主要内容,如果未能解决你的问题,请参考以下文章

“ScrollView 只能承载 1 个孩子”在 2 个片段中只有 1 个孩子?

oracle创建用户后需要授哪些权限

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

oracle创建用户后需要授哪些权限

web前端开发JQuery常用实例代码片段(50个)

如何知道 vfork 函数中的父进程或子进程