首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ipython和fork()

ipython和fork()
EN

Stack Overflow用户
提问于 2011-05-19 03:02:19
回答 2查看 1.5K关注 0票数 7

我正在计划一个Python脚本,它将使用os.fork()创建一系列子进程来执行一些计算。父进程将一直阻塞,直到子进程终止。

不同之处在于,我需要能够使用python从Unix shell和使用%runipython运行该脚本。

子进程应以何种方式终止,以避免重新进入ipython命令提示符?根据我的经验,sys.exit()是不行的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-03 15:29:34

下面的方法似乎是可行的:

代码语言:javascript
复制
import os, sys

child_pid = os.fork()
if child_pid == 0:
  print 'in child'
  os._exit(os.EX_OK)
  print 'hm... wasn''t supposed to get here'
else:
  print 'in parent'

诀窍是使用os._exit()而不是sys.exit()。文档包含以下段落:

备注退出的标准方式是sys.exit(n)_exit()通常只应该在fork()之后的子进程中使用。

票数 9
EN

Stack Overflow用户

发布于 2011-06-03 02:39:53

在Linux术语中,与其fork iPython进程,为什么不从iPython shell中exec一个常规的python解释器并拥有这个分支呢?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6049741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档