python--多进程之fork

1 篇文章 0 订阅

fork()只支持类unix系统,不支持windows,windows多进程可使用multiprocessing。

python 调用fork

os.fork(),一次调用返回两次数据,子进程返回0,父进程返回子进程pid,创建子进程失败返回-1;

可根据返回值让父进程和子进程完成各自的任务。如下:

#coding = utf-8


import os
import time


def child():
   print("child process %s" % os.getpid())
   pass


def parent():
   print("parent process %s" % os.getpid())
   time.sleep(10)
   pass


pid = os.fork()
# fork()系统调用我们可以创建一个和当前进程印象一样的新进程.我们通常将新进程称为子进程,而当前进程称为父进程.而子进程继承了父进程的整个地址空间,其中包括了进程上下文,堆栈地址,内存信息进程控制块(PCB)等


if pid == 0:   # 子进程返回0,创建失败返回-1,父进程返回子进程的pid
   child()
elif pid == -1:
   print('创建子进程失败')
else:
   print(pid)
   parent()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值