子进程继承父进程哪些权限?

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)中删除。

以上是关于子进程继承父进程哪些权限?的主要内容,如果未能解决你的问题,请参考以下文章

Linux 面试

7.守护进程

为啥 Python 子进程“继承”父进程的线程?

什么是父进程和子进程?

如何使用从父级继承的句柄创建提升的子进程

子进程怎么操作父进程中的变量