• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > 小结Python用fork来创建子进程注意事项

小结Python用fork来创建子进程注意事项

作者:hebedich 字体:[增加 减小] 来源:互联网

hebedich 通过本文主要向大家介绍了python os.fork,python fork,fork创建子进程,fork进程,fork子进程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

自己随手写了Python下 fork 进程的测试代码(来说明这个问题不一定完全合适):

def fork(a):
 def now():
  import datetime
  return datetime.datetime.now().strftime("%S.%f")
 import os
 import time
 print now(), a
 if os.fork() == 0:
  print '子进程[%s]:%s' % (now(), os.getpid())
  while 1:
   a-=10
   print '子进程的a值[%s]:%s' % (now(), a)
   if a < 1:
    break
  print '准备退出子进程'
  #os._exit(0) ## 你可以在这里退出子进程
 else:
  print '父进程[%s]:%s' % (now(), os.getpid())
  while 1:
   a-=1
   print '父进程的a值[%s]:%s' % (now(), a)
   if a < 0:
    break
  time.sleep(1)
  print '等待子进程结束...'
  try:
   result = os.wait()
   if result:
    print '子进程:', result[0], result[1]
   else:
    print '没有数据!'
  except:
   print '异常哦...'
  print '父进程...'
 print '最后的值:',a
 #exit(0) ## 你也可以在这里退出,注意,这里是父进程和子进程都共用的地方,在这里退出会导致父进程也一并退出
</div>

TIPS:

os.fork() 会有两次返回值,分别是父进程和子进程的返回值
在父进程中,fork返回的值是子进程的PID;
子进程中,这个返回值为0
子进程会复制父进程的上下文
父子进程并不能确定执行顺序
os.fork() 之后,子进程一定要使用 exit() 或者 os._exit() 来退出子进程环境,建议使用 os._exit()
os.fork() 来创建子进程的这个代码并不是很通适,Linux是没问题的,在Windows下就是不能用的,而官方文档也有类似表述:

Note that some platforms including FreeBSD <= 6.3, Cygwin and OS/2 EMX have known issues when using fork() from a thread
Availability: Unix.
</div>

</div>

您可能想查找下面的文章:

  • python创建进程fork用法
  • 简单分析Python中用fork()函数生成的子进程
  • 小结Python用fork来创建子进程注意事项

相关文章

  • 在arcgis使用python脚本进行字段计算时是如何解决中文问题的
  • Python实现优先级队列结构的方法详解
  • 简介Python设计模式中的代理模式与模板方法模式编程
  • Windows下使Python2.x版本的解释器与3.x共存的方法
  • Python自动生产表情包
  • Python的Django框架中if标签的相关使用
  • Python实现的简单文件传输服务器和客户端
  • 在Python的web框架中配置app的教程
  • 研究Python的ORM框架中的SQLAlchemy库的映射关系
  • 让python json encode datetime类型

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • python访问类中docstring注释的实现方法
    • 从Python程序中访问Java类的简单示例
    • Python中getattr函数和hasattr函数作用详解
    • python获取当前时间对应unix时间戳的方法
    • python开发的小球完全弹性碰撞游戏代码
    • Python网页解析利器BeautifulSoup安装使用介绍
    • Python多线程实例教程
    • python使用htmllib分析网页内容的方法
    • Python使用htpasswd实现基本认证授权的例子
    • python写xml文件的操作实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有