python创建进程fork用法

yipeiwu_com7年前Python基础

本文实例讲述了python创建进程fork用法。分享给大家供大家参考。具体分析如下:

#!coding=utf-8
import os ,traceback
import time
'''
fork()系统调用是Unix下以自身进程创建子进程的系统调用,
一次调用,两次返回,如果返回是0,
则是子进程,如果返回值>0,则是父进程(返回值是子进程的pid)
'''
source = 10
i = 0
try:
  print '***********************'
  pid = os.fork()
  #这里会返回两次,所以下面的省略号会输出2次
  print '......'
  if pid == 0:#子进程
    print "this is child process"
    source = source - 1
    print 'child process source is ',source
    time.sleep(10)
    print 'child sleep done'
  else:  #父进程
    print "this is parent process"
    print 'parent process source is ',source
    time.sleep(10)
    print 'parent sleep done'
  print source
except:
  traceback.print_exc()

输出如下:

***********************
......
this is child process
child process source is 9
......
this is parent process
parent process source is 10
child sleep done
9
parent sleep done
10

希望本文所述对大家的Python程序设计有所帮助。

相关文章

请不要重复犯我在学习Python和Linux系统上的错误

请不要重复犯我在学习Python和Linux系统上的错误

本人已经在运维行业工作了将近十年,我最早接触Linux是在大二的样子,那时候只追求易懂,所以就选择了Ubuntu作为学习、使用的对象,它简单、易用、好操作、界面绚丽,对于想接触Linux...

python UNIX_TIMESTAMP时间处理方法分析

本文实例讲述了python UNIX_TIMESTAMP时间处理方法。分享给大家供大家参考,具体如下: from datetime import datetime import ti...

python的sorted用法详解

列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的。 排序,数字、字符串按照ASCII,中文按照unicode从小到大排序...

解决pandas中读取中文名称的csv文件报错的问题

之前在使用Pandas处理csv文件时,发现如果文件名为中文,则会报错: OSError: Initializing from file failed 后来在一位博主的博客中解释了...

PyQt5重写QComboBox的鼠标点击事件方法

最近学PyQt5,想要做一个串口调试助手来练练手,之前用了正点原子的串口上位机,觉得点击ComboBox自动检测串口这个功能很棒,之前用QT5写串口调试助手的时候也想加入这个功能,但是一...