对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中类型关系和继承关系实例详解
May 25 Python
5种Python单例模式的实现方式
Jan 14 Python
python中numpy基础学习及进行数组和矢量计算
Feb 12 Python
python网络爬虫学习笔记(1)
Apr 09 Python
浅析python中numpy包中的argsort函数的使用
Aug 30 Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
Jun 13 Python
PyQt5 QListWidget选择多项并返回的实例
Jun 17 Python
python模拟实现斗地主发牌
Jan 07 Python
在python中使用nohup命令说明
Apr 16 Python
python中tab键是什么意思
Jun 18 Python
超级详细实用的pycharm常用快捷键
May 12 Python
Python字符串常规操作小结
Apr 03 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
简单介绍win7下搭建apache+php+mysql开发环境
2015/08/06 PHP
Yii2框架可逆加密简单实现方法
2017/08/25 PHP
PHP常见加密函数用法示例【crypt与md5】
2019/01/27 PHP
跟随鼠标旋转的文字
2006/11/30 Javascript
Json字符串转换为JS对象的高效方法实例
2013/05/01 Javascript
jQuery中not()方法用法实例
2015/01/06 Javascript
javascript引用类型指针的工作方式
2015/04/13 Javascript
jQuery+HTML5加入购物车代码分享
2020/10/29 Javascript
第六章之辅组类与响应式工具
2016/04/25 Javascript
setTimeout函数的神奇使用
2017/02/26 Javascript
javascript编写简易计算器
2017/05/06 Javascript
详解ElementUI之表单验证、数据绑定、路由跳转
2017/06/21 Javascript
React-Native实现ListView组件之上拉刷新实例(iOS和Android通用)
2017/07/11 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
深入了解响应式React Native Echarts组件
2019/05/29 Javascript
vue中npm包全局安装和局部安装过程
2019/09/03 Javascript
JS array数组检测方式解析
2020/05/19 Javascript
Vue-resource安装过程及使用方法解析
2020/07/21 Javascript
[50:17]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python+django实现简单的文件上传
2016/08/17 Python
python调用Delphi写的Dll代码示例
2017/12/05 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
2017/12/18 Python
python之pandas用法大全
2018/03/13 Python
Django安装配置mysql的方法步骤
2018/10/15 Python
Django实现跨域请求过程详解
2019/07/25 Python
python多环境切换及pyenv使用过程详解
2019/09/27 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
2020/04/30 Python
如何用Python绘制3D柱形图
2020/09/16 Python
世界上最全面的汽车零部件和配件集合:JC Whitney
2016/09/04 全球购物
NBA欧洲商店(英国):NBA Europe Store UK
2018/07/27 全球购物
Jacques Lemans德国:奥地利钟表品牌
2019/12/26 全球购物
中式面点餐厅创业计划书
2014/01/29 职场文书
求职面试个人自我评价
2014/02/28 职场文书
商场开业庆典策划方案
2014/06/02 职场文书
离婚案件原告代理词
2015/05/23 职场文书
python神经网络Xception模型
2022/05/06 Python