对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字符串加密解密的三种方法分享(base64 win32com)
Jan 19 Python
python使用nntp读取新闻组内容的方法
May 08 Python
Python操作MySQL数据库9个实用实例
Dec 11 Python
Python内置函数OCT详解
Nov 09 Python
python查看微信好友是否删除自己
Dec 19 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
Jun 20 Python
Python实现的rsa加密算法详解
Jan 24 Python
Python3中函数参数传递方式实例详解
May 05 Python
python基础 range的用法解析
Aug 23 Python
python3中for循环踩过的坑记录
Dec 14 Python
python迷宫问题深度优先遍历实例
Jun 20 Python
Python matplotlib可视化之绘制韦恩图
Feb 24 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
使用无限生命期Session的方法
2006/10/09 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
2015/01/07 PHP
PHP实现的一致性哈希算法完整实例
2015/11/14 PHP
PHP解耦的三重境界(浅谈服务容器)
2017/03/13 PHP
php PDO判断连接是否可用的实现方法
2017/04/03 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
2017/09/30 PHP
一个不错的用JavaScript实现的UBB编码函数
2007/03/09 Javascript
Ext JS 4官方文档之三 -- 类体系概述与实践
2012/12/16 Javascript
js弹出窗口之弹出层的小例子
2013/06/17 Javascript
JS实现简单路由器功能的方法
2015/05/27 Javascript
让JavaScript中setTimeout支持链式操作的方法
2015/06/19 Javascript
JS实现图片延迟加载并淡入淡出效果的简单方法
2016/08/25 Javascript
微信小程序实现表单校验功能
2020/03/30 Javascript
详解微信小程序中组件通讯
2018/10/30 Javascript
Vue动态组件与异步组件实例详解
2019/02/23 Javascript
微信小程序页面渲染实现方法
2019/11/06 Javascript
优化Vue中date format的性能详解
2020/01/13 Javascript
Vue自定义组件的四种方式示例详解
2020/02/28 Javascript
javascript实现移动端红包雨页面
2020/06/23 Javascript
Vue路由权限控制解析
2020/11/09 Javascript
Python查询Mysql时返回字典结构的代码
2012/06/18 Python
Python 数据结构之队列的实现
2017/01/22 Python
Python文件读写常见用法总结
2019/02/22 Python
使用sklearn的cross_val_score进行交叉验证实例
2020/02/28 Python
Anaconda+vscode+pytorch环境搭建过程详解
2020/05/25 Python
Java byte数组操纵方式代码实例解析
2020/07/22 Python
浅析Python 责任链设计模式
2020/09/11 Python
python利用google翻译方法实例(翻译字幕文件)
2020/09/21 Python
Python实现微信表情包炸群功能
2021/01/28 Python
委托协议书范本
2014/04/22 职场文书
委托书范本
2014/09/13 职场文书
领导干部学习“三严三实”思想汇报
2014/09/15 职场文书
离婚协议书范本
2015/01/26 职场文书
学生逃课检讨书
2015/02/17 职场文书
导游词之江南园林狮子林
2019/09/16 职场文书
剖析后OpLog订阅MongoDB的数据变更就没那么难了
2022/02/24 MongoDB