在Python中os.fork()产生子进程的例子

yipeiwu_com6年前Python基础

例1

import os
print 'Process (%s) start...' %os.getpid()
pid = os.fork()
if pid==0:
  print 'I am child (%s) and my father is %s.'%(os.getpid(),os.getppid())
else:
  print 'I (%s) just created a child process (%s).' %(os.getpid(),pid)

加载os模块后,首先os.fork()函数生成一个子进程,返回值pid有两个,一个为0,

用以表示在子进程当中,一个是大于0的整数,表示在父进程,这个常数正是子进程的pid.

if pid == 0,在子进程当中os.getpid()是子进程的pid,os.getppid()是父进程pid

if pid >0 ,在父进程当中,os.getpid()是父进程的pid,os.fork()返回的就是子进程的pid

例2

import os 

def child(): 
  print 'A new child:', os.getpid() 
  print 'Parent id is:', os.getppid() 
  os._exit(0) 

def parent(): 
  while True: 
    newpid=os.fork() 
    print newpid 
    if newpid==0: 
      child() 
    else: 
      pids=(os.getpid(),newpid) 
      print "parent:%d,child:%d"%pids 
      print "parent parent:",os.getppid()     
    if raw_input()=='q': 
      break 

parent() 

以上这篇在Python中os.fork()产生子进程的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

PyQt5利用QPainter绘制各种图形的实例

PyQt5利用QPainter绘制各种图形的实例

这个例子我做了好几天: 1)官网C++的源码,改写成PyQt5版本的代码,好多细节不会转化 2)网上的PyQt的例子根本运行不了 填了无数个坑,结合二者,终于能完成了一个关于绘图的东西。...

python之pymysql模块简单应用示例代码

众所周知,想要在python程序中执行SQL语句需要使用第三方模块:pymysql。 下面,我将为大家简述一下pymysql第三方库的安装到使用的大体流程。 pymysql的安装 1....

Python datetime包函数简单介绍

Python datetime包函数简单介绍

一、datetime包(上接连载7内容) 1.函数:datetime (1)用法:输入一个日期,来返回一个datetime类​ (2)格式:datetime.datetime...

浅析Windows 嵌入python解释器的过程

这次主要记录在windows下嵌入 python 解释器的过程,程序没有多少,主要是头文件与库文件的提取。 程序平台:windows10 64 bit、 Qt 5.5.1  M...

Django中实现点击图片链接强制直接下载的方法

本文实例讲述了Django中实现点击图片链接强制直接下载的方法。分享给大家供大家参考。具体分析如下: 当用户点击图片连接时,默认为在浏览器中直接开打图片,这段代码可以让图片链接变成下载...