对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实现zencart产品数据导入到magento(python导入数据)
Apr 03 Python
Python Sleep休眠函数使用简单实例
Feb 02 Python
python中OrderedDict的使用方法详解
May 05 Python
通过Python 获取Android设备信息的轻量级框架
Dec 18 Python
Python无损音乐搜索引擎实现代码
Feb 02 Python
Python实现中一次读取多个值的方法
Apr 22 Python
Python发送邮件功能示例【使用QQ邮箱】
Dec 04 Python
python异常处理和日志处理方式
Dec 24 Python
python对一个数向上取整的实例方法
Jun 18 Python
python 写一个性能测试工具(一)
Oct 24 Python
Python urllib request模块发送请求实现过程解析
Dec 10 Python
利用python做数据拟合详情
Nov 17 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
Home Coffee Roasting
2021/03/03 咖啡文化
php xfocus防注入资料
2008/04/27 PHP
PHP验证信用卡卡号是否正确函数
2015/05/27 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
2016/02/01 PHP
Yii框架表单模型和验证用法
2016/05/20 PHP
thinkPHP5 tablib标签库自定义方法详解
2017/05/10 PHP
让Firefox支持event对象实现代码
2009/11/07 Javascript
jquery对table中各数据的增加、保存、删除操作示例
2014/05/14 Javascript
JS获取各种宽度、高度的简单介绍
2014/12/19 Javascript
jQuery中 delegate使用的问题
2015/07/03 Javascript
jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)
2015/12/31 Javascript
探索angularjs+requirejs全面实现按需加载的套路
2016/02/26 Javascript
jQuery表单验证插件解析(推荐)
2016/07/21 Javascript
基于js实现checkbox批量选中操作
2016/11/22 Javascript
使用jquery实现的循环连续可停顿滚动实例
2016/11/23 Javascript
详解如何提升JSON.stringify()的性能
2019/06/12 Javascript
微信小程序基础教程之worker线程的使用方法
2019/07/15 Javascript
node读写Excel操作实例分析
2019/11/06 Javascript
JavaScript基于用户照片姓名生成海报
2020/05/29 Javascript
uniapp与webview之间的相互传值的实现
2020/06/29 Javascript
在Python中操作文件之truncate()方法的使用教程
2015/05/25 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
2018/01/08 Python
python生成tensorflow输入输出的图像格式的方法
2018/02/12 Python
python中验证码连通域分割的方法详解
2018/06/04 Python
pandas 快速处理 date_time 日期格式方法
2018/11/12 Python
Python 实现域名解析为ip的方法
2019/02/14 Python
使用Flask-Cache缓存实现给Flask提速的方法详解
2019/06/11 Python
Python matplotlib图例放在外侧保存时显示不完整问题解决
2020/07/28 Python
html2canvas把div保存图片高清图的方法示例
2018/03/05 HTML / CSS
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
惠普新加坡官方商店:HP Singapore
2020/04/17 全球购物
澳大利亚厨房和家用电器购物网站:Bing Lee
2021/01/11 全球购物
员工培训邀请函
2014/01/11 职场文书
志愿者活动总结
2014/04/28 职场文书
行政专员岗位职责说明书
2014/09/01 职场文书
祝福语集锦:给满月宝宝的祝福语
2019/11/20 职场文书