对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文件和目录操作方法大全(含实例)
Mar 12 Python
Python中的zipfile模块使用详解
Jun 25 Python
使用python实现生成用户信息
Mar 20 Python
详解Django中间件执行顺序
Jul 16 Python
Python版名片管理系统
Nov 30 Python
对python numpy.array插入一行或一列的方法详解
Jan 29 Python
对python借助百度云API对评论进行观点抽取的方法详解
Feb 21 Python
Python 生成一个从0到n个数字的列表4种方法小结
Nov 28 Python
用python爬取历史天气数据的方法示例
Dec 30 Python
python 写函数在一定条件下需要调用自身时的写法说明
Jun 01 Python
Python常用扩展插件使用教程解析
Nov 02 Python
Python绘制散点图之可视化神器pyecharts
Jul 07 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
phalcon model在插入或更新时会自动验证非空字段的解决办法
2016/12/29 PHP
永不消失的title提示代码
2007/02/15 Javascript
CCPry JS类库 代码
2009/10/30 Javascript
国外大牛IE版本检测!现在IE都到9了,IE检测代码
2012/01/04 Javascript
基于JQuery制作可编辑的表格特效
2014/12/23 Javascript
JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
2015/09/14 Javascript
Bootstrap每天必学之下拉菜单
2015/11/25 Javascript
web打印小结
2017/01/11 Javascript
原生JavaScript实现Tooltip浮动提示框特效
2017/03/07 Javascript
AngularJs 最新验证手机号码的实例,成功测试通过
2017/11/26 Javascript
JavaScript正则表达式函数总结(常用)
2018/02/22 Javascript
vuex操作state对象的实例代码
2018/04/25 Javascript
webpack4+react多页面架构的实现
2018/10/25 Javascript
JavaScript实现连连看连线算法
2019/01/05 Javascript
KnockoutJS数组比较算法实例详解
2019/11/25 Javascript
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
python获取当前目录路径和上级路径的实例
2018/04/26 Python
django反向解析和正向解析的方式
2018/06/05 Python
python制作朋友圈九宫格图片
2019/11/03 Python
关于Numpy中的行向量和列向量详解
2019/11/30 Python
python zip,lambda,map函数代码实例
2020/04/04 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
python批量生成身份证号到Excel的两种方法实例
2021/01/14 Python
python定义具名元组实例操作
2021/02/28 Python
HTML5之SVG 2D入门2—图形绘制(基本形状)介绍及使用
2013/01/30 HTML / CSS
html5 利用canvas实现超级玛丽简单动画
2013/09/06 HTML / CSS
介绍java中初始化块的使用
2012/09/11 面试题
军训自我鉴定范文
2014/02/13 职场文书
《那片绿绿的爬山虎》教学反思
2014/02/27 职场文书
绿化工程实施方案
2014/03/17 职场文书
岗位竞聘报告范文
2014/11/06 职场文书
公司放假通知范文
2015/04/14 职场文书
试用期转正工作总结2015
2015/05/28 职场文书
windows server2012 R2下安装PaddleOCR服务的的详细步骤
2022/09/23 Servers