对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 28 Python
Python实现的破解字符串找茬游戏算法示例
Sep 25 Python
对python 读取线的shp文件实例详解
Dec 22 Python
python3实现指定目录下文件sha256及文件大小统计
Feb 25 Python
python的turtle库使用详解
May 10 Python
django项目用higcharts统计最近七天文章点击量
Aug 17 Python
Python闭包与装饰器原理及实例解析
Apr 30 Python
Python3 ID3决策树判断申请贷款是否成功的实现代码
May 21 Python
Python用来做Web开发的优势有哪些
Aug 05 Python
Django实现文章详情页面跳转代码实例
Sep 16 Python
详解向scrapy中的spider传递参数的几种方法(2种)
Sep 28 Python
Pandas加速代码之避免使用for循环
May 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
Views rows style模板重写代码
2011/05/16 PHP
PHP+MYSQL中文乱码问题
2015/07/01 PHP
Yii2表单事件之Ajax提交实现方法
2017/05/04 PHP
thinkPHP实现的省市区三级联动功能示例
2017/05/05 PHP
关于document.cookie的使用javascript
2008/04/11 Javascript
js 静态动态成员 and 信息的封装和隐藏
2011/05/29 Javascript
Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
2013/04/02 Javascript
js拖拽一些常见的思路方法整理
2014/03/19 Javascript
javascript浏览器兼容教程之事件处理
2014/06/09 Javascript
理解javascript异步编程
2016/01/27 Javascript
Nodejs Stream 数据流使用手册
2016/04/17 NodeJs
js获取Html元素的实际宽度高度的方法
2016/05/19 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
2016/07/18 Javascript
Bootstrap table表格简单操作
2017/02/07 Javascript
JavaScript数据结构之数组的表示方法示例
2017/04/12 Javascript
vue中遇到的坑之变化检测问题(数组相关)
2017/10/13 Javascript
使用nodeJs来安装less及编译less文件为css文件的方法
2017/11/20 NodeJs
详解使用React制作一个模态框
2019/03/14 Javascript
js实现自定义右键菜单
2020/05/18 Javascript
Vue通过provide inject实现组件通信
2020/09/03 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
2020/10/09 jQuery
Vue检测屏幕变化来改变不同的charts样式实例
2020/10/26 Javascript
天翼开放平台免费短信验证码接口使用实例
2013/12/18 Python
Python3安装psycopy2以及遇到问题解决方法
2019/07/03 Python
学生发电厂实习自我鉴定
2013/09/22 职场文书
保荐人的岗位职责
2013/11/19 职场文书
学校岗位设置方案
2014/01/16 职场文书
竞选宣传委员演讲稿
2014/05/24 职场文书
施工工地安全标语
2014/06/07 职场文书
公安交警中队队长个人对照检查材料思想汇报
2014/10/05 职场文书
教师自查自纠材料
2014/10/14 职场文书
幼儿园法制宣传日活动总结
2014/11/01 职场文书
幼儿园新学期开学寄语
2015/05/27 职场文书
2016年“节能宣传周”活动总结
2016/04/05 职场文书
SpringBoot实现quartz定时任务可视化管理功能
2021/08/30 Java/Android
教你nginx跳转配置的四种方式
2022/07/07 Servers