对python中的os.getpid()和os.fork()函数详解


Posted in Python onAugust 08, 2019

如下所示:

import os
import sys
import time
 
processNmae = 'parent'
 
print "Program executing ntpid:%d,processNmae:%s"%(os.gitpid(),processNmae)
 
#attempt to fork child process
try:
  forkPid = os.fork()
except OSError:
  sys.exit("Unable to create new process.")
 
# Am I parent process?
if forkPid != 0:
  print "Parent executingn"+"tpid:%d,forkPid:%d,processNmae:%s"%(os.getpid(), forkPID,processName)
 
# Am I child process?
elif forkPID == 0:
    processName = "child"
    print "Child executingn" + "tpid: %d, forkPID: %d, processName: %s" % (os.getpid(), forkPID,processName)<br>
print "Process finishingntpid: %d, processName: %s" % (os.getpid(), processName)

程序每次执行时,操作系统就会创建一个新的进程来运行程序指令。进程还可以调用os.fork,要求操作系统新建一个进程。

“父进程”是调用os.fork的进程。父进程所创建的任何进程都是子进程。

每个进程都有一个不重复的“进程ID号”,或称“pid”,它对进程进程进行标识。

进程调用fork函数时,操作系统会新建一个子进程,它本质上与父进程完全相同。子

进程从父进程继承了多个值的拷贝,比如全局变量和环境变量。两个进程唯一的区别就是fork的返回值。

child(子)进程接收返回值为0,而父进程接收子进程的pid作为返回值。调用fork函数后,两个进程并发执行同一个程序,

首先执行的是调用了fork之后的下一行代码。父进程和子进程既并发执行,又相互独立;也就是说,它们是“异步执行”的。

import os 
pid=os.fork() #fork反复拷贝 
if pid==0: 
  print("A",os.getpid(),os.getppid()) 
else: 
  print("B",os.getpid(),os.getppid()) 
 
# os.getpid()获取当前进程id   os.getppid()获取父进程id

以上这篇对python中的os.getpid()和os.fork()函数详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中二维阵列的变换实例
Oct 09 Python
讲解Python中的递归函数
Apr 27 Python
一些常用的Python爬虫技巧汇总
Sep 28 Python
python编程之requests在网络请求中添加cookies参数方法详解
Oct 25 Python
Sanic框架异常处理与中间件操作实例分析
Jul 16 Python
在python中使用with打开多个文件的方法
Jan 07 Python
Python实现去除图片中指定颜色的像素功能示例
Apr 13 Python
python日志logging模块使用方法分析
May 23 Python
python爬虫实现中英翻译词典
Jun 25 Python
python cumsum函数的具体使用
Jul 29 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
Apr 14 Python
Pycharm IDE的安装和使用教程详解
Apr 30 Python
在Python中os.fork()产生子进程的例子
Aug 08 #Python
Python如何使用k-means方法将列表中相似的句子归类
Aug 08 #Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
Aug 08 #Python
python批量修改ssh密码的实现
Aug 08 #Python
更新pip3与pyttsx3文字语音转换的实现方法
Aug 08 #Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
Aug 08 #Python
python按行读取文件并找出其中指定字符串
Aug 08 #Python
You might like
Php中文件下载功能实现超详细流程分析
2012/06/13 PHP
解析PHP获取当前网址及域名的实现代码
2013/06/23 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
2014/09/27 PHP
CI框架中类的自动加载问题分析
2016/11/21 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
Javascript string 扩展库代码
2010/04/09 Javascript
鼠标经过显示二级菜单js特效
2013/08/13 Javascript
javascript屏蔽右键代码
2014/05/15 Javascript
javascript函数式编程程序员的工具集
2015/10/11 Javascript
JavaScript中的时间处理小结
2016/02/24 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
2016/12/27 Javascript
巧用canvas
2017/01/21 Javascript
详解NodeJS框架express的路径映射(路由)功能及控制
2017/03/24 NodeJs
微信小程序之获取当前位置经纬度以及地图显示详解
2017/05/09 Javascript
jquery实现下拉菜单的手风琴效果
2017/07/23 jQuery
详解Vuejs2.0 如何利用proxyTable实现跨域请求
2017/08/03 Javascript
Windows上node.js的多版本管理工具用法实例分析
2019/11/06 Javascript
webgl实现物体描边效果的方法介绍
2019/11/27 Javascript
vue中使用带隐藏文本信息的图片、图片水印的方法
2020/04/24 Javascript
[01:18]DOTA2超级联赛专访hanci ForLove淘汰感言曝光
2013/06/04 DOTA
python概率计算器实例分析
2015/03/25 Python
详解Python的Django框架中的templates设置
2015/05/11 Python
Perl中著名的Schwartzian转换问题解决实现
2015/06/02 Python
python模拟事件触发机制详解
2018/01/19 Python
浅谈python3.x pool.map()方法的实质
2019/01/16 Python
python多维数组分位数的求取方式
2020/03/03 Python
python实现数字炸弹游戏程序
2020/07/17 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
2020/11/01 Python
Django如何继承AbstractUser扩展字段
2020/11/27 Python
美国最受欢迎的童装品牌之一:The Children’s Place
2016/07/23 全球购物
香港草莓网土耳其网站:Strawberrynet TR
2017/03/02 全球购物
Hello Molly美国:女性时尚在线
2019/08/26 全球购物
30年同学聚会感言
2014/01/30 职场文书
小学班主任自我评价
2015/03/11 职场文书
AndroidStudio图片压缩工具ImgCompressPlugin使用实例
2022/08/05 Java/Android