当前位置: 首页 > 面试题库 >

如果我有一个进程并克隆了它,那么PID是否相同?

黄俊雄
2023-03-14
问题内容

只是一个简单的问题,如果我克隆一个进程,则克隆的进程的PID是相同的,是吗?fork()创建一个子进程,其PID不同,但其他所有事物都相同。Vfork()创建一个具有相同PID的子进程。Exec致力于将当前正在执行的流程更改为其他流程

我在所有这些陈述中都正确吗?


问题答案:

不完全的。如果通过fork / exec或vfork /
exec克隆进程,则将获得新的进程ID。fork()将为您提供具有新进程ID的新进程,并exec()用新进程替换该进程,但仍保留该进程ID。

从这里:

vfork()函数与fork()的不同之处仅在于子进程可以与调用进程(父进程)共享代码和数据。如果滥用vfork(),这将极大地加快克隆活动的速度,并有可能损害父进程的完整性。



 类似资料:
  • 问题内容: 我是相对较新的Python转换者。我编写了一些代码来从各种来源获取/绘制数据,以使每周的报告和预测自动化。我对Jython的概念很感兴趣,并想移植一些我写给Jython的Python代码。为了快速完成此任务,我需要一个Jython(或Java)的NumPy克隆。那里有这样的东西吗? 问题答案: 我找不到任何的numpy的一个克隆,但还有很长的Java的NUMERICS包列表在这里 -这

  • 问题内容: 我们将注释定义为接口,如下所示 而且我们知道所有注释默认都会扩展接口。 当我检查接口的Java库时,我发现它覆盖了Object类等许多方法。 如果Annotation是一个接口,那么它如何扩展Object类并覆盖其方法?接口只能扩展其他接口,不能扩展类。 问题答案: 所以我的问题是,如果Annotation是一个接口,那么它将如何扩展Object类并覆盖其方法 不完全是。Java语言规

  • 我有一个平面JS对象: 我想克隆除一个元素以外的对象: 最简单的方法是什么(如果可能的话更倾向于使用ES6/7)?

  • 如果我克隆了以下类的一个实例,并在实例化时覆盖了一个方法,克隆会有被覆盖的方法吗?我在https://docs.oracle.com/javase/7/docs/api/java/lang/Cloneable.html和https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#clone()中没有找到任何关于这种行为的内容。

  • 因此,我的问题是:为什么还没有被否决?如果核心Java团队已经决定它是坏的,那么他们一定也考虑过弃用。他们反对这样做的理由是什么(在Java8中,它仍然没有被反对)?

  • 问题内容: 如何克隆 Java并同时在Java中克隆其项目? 例如,我有: 我希望其中的对象与狗列表中的对象不同。 问题答案: 你将需要迭代这些项目,然后逐个克隆它们,然后将克隆放入结果数组中。 显然,要使该方法起作用,你将必须使你的类实现接口并重写该方法。