对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 提取文件的小程序
Jul 29 Python
简单介绍Python中的几种数据类型
Jan 02 Python
Python3.7中安装openCV库的方法
Jul 11 Python
Python对象中__del__方法起作用的条件详解
Nov 01 Python
利用pyecharts实现地图可视化的例子
Aug 12 Python
执行Django数据迁移时报 1091错误及解决方法
Oct 14 Python
Python List列表对象内置方法实例详解
Oct 22 Python
Python编写一个验证码图片数据标注GUI程序附源码
Dec 09 Python
浅谈django 重载str 方法
May 19 Python
如何导出python安装的所有模块名称和版本号到文件中
Jun 05 Python
python 30行代码实现蚂蚁森林自动偷能量
Feb 08 Python
Python日志模块logging用法
Jun 05 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网站建设的流程与步骤分享
2015/09/25 PHP
浅谈使用PHP开发微信支付的流程
2015/10/04 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
2016/02/19 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
2016/04/20 PHP
Jquery拖拽并简单保存的实现代码
2010/11/28 Javascript
js加强的经典分页实例
2013/03/15 Javascript
Jquery 复选框取值兼容FF和IE8(测试有效)
2013/10/29 Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
2014/06/10 Javascript
AspNet中使用JQuery boxy插件的确认框
2015/05/20 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
深入理解关于javascript中apply()和call()方法的区别
2016/04/12 Javascript
AngularJS中的promise用法分析
2017/05/19 Javascript
js+html5实现复制文字按钮
2017/07/15 Javascript
js基于canvas实现时钟组件
2021/02/07 Javascript
利用Pandas 创建空的DataFrame方法
2018/04/08 Python
python中单下划线_的常见用法总结
2018/07/10 Python
对pytorch中的梯度更新方法详解
2019/08/20 Python
Python socket实现的文件下载器功能示例
2019/11/15 Python
浅谈python输出列表元素的所有排列形式
2020/02/26 Python
Python是什么 Python的用处
2020/05/26 Python
pip已经安装好第三方库但pycharm中import时还是标红的解决方案
2020/10/09 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
2021/02/22 Python
详解python第三方库的安装、PyInstaller库、random库
2021/03/03 Python
css3媒体查询中device-width和width的区别详解
2020/03/27 HTML / CSS
某公司面试题
2012/03/05 面试题
集体备课反思
2014/02/12 职场文书
入党自荐书范文
2014/03/09 职场文书
交通事故协议书范文
2014/04/16 职场文书
学校春季防火方案
2014/06/08 职场文书
2014年学校禁毒工作总结
2014/12/23 职场文书
毕业论文致谢部分怎么写
2015/05/14 职场文书
可可西里观后感
2015/06/08 职场文书
大学生暑期社会实践的个人总结!
2019/07/17 职场文书
Python深度学习之Pytorch初步使用
2021/05/20 Python
Vue+Element UI实现概要小弹窗的全过程
2021/05/30 Vue.js
图文详解nginx日志切割的实现
2022/01/18 Servers