对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 pdb调试方法分享
Jan 21 Python
Python干货:分享Python绘制六种可视化图表
Aug 27 Python
python 调用钉钉机器人的方法
Feb 20 Python
树莓派实现移动拍照
Jun 22 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
Feb 26 Python
Python selenium模拟手动操作实现无人值守刷积分功能
May 13 Python
python线程池如何使用
May 28 Python
Python 绘制可视化折线图
Jul 22 Python
python实现梯度下降算法的实例详解
Aug 17 Python
python批量创建变量并赋值操作
Jun 03 Python
基于Python实现射击小游戏的制作
Apr 06 Python
Python Flask实现进度条
May 11 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
2019年漫画销量排行榜:鬼灭登顶 海贼单卷制霸 尾田盛赞鬼灭
2020/03/08 日漫
php debug 安装技巧
2011/04/30 PHP
Javascript优化技巧(文件瘦身篇)
2008/01/28 Javascript
js中精确计算加法和减法示例
2014/03/28 Javascript
jquery获取复选框checkbox的值实现方法
2016/05/30 Javascript
浅谈jQuery 选择器和dom操作
2016/06/07 Javascript
AngularJs $parse、$eval和$observe、$watch详解
2016/09/21 Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
2017/07/07 Javascript
vue.js默认路由不加载linkActiveClass问题的解决方法
2017/12/11 Javascript
解析Vue.js中的组件
2018/02/02 Javascript
解决vue打包之后静态资源图片失效的问题
2018/02/21 Javascript
全面解析vue router 基本使用(动态路由,嵌套路由)
2018/09/02 Javascript
vue项目动态设置页面title及是否缓存页面的问题
2018/11/08 Javascript
[02:40]DOTA2英雄基础教程 炼金术士
2013/12/23 DOTA
对于Python的Django框架部署的一些建议
2015/04/09 Python
python获取本地计算机名字的方法
2015/04/29 Python
Python实现以时间换空间的缓存替换算法
2016/02/19 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
2017/08/24 Python
Python多线程应用于自动化测试操作示例
2018/12/06 Python
对python:print打印时加u的含义详解
2018/12/15 Python
TensorFlow命名空间和TensorBoard图节点实例
2020/01/23 Python
Python实现打包成库供别的模块调用
2020/07/13 Python
Python用户自定义异常的实现
2020/12/25 Python
台湾团购、宅配和优惠券:17Life
2017/08/14 全球购物
文员个人的求职信范文
2013/09/26 职场文书
法律进学校实施方案
2014/03/15 职场文书
纪念九一八事变演讲稿:忘记意味着背叛
2014/09/14 职场文书
优秀教师自我评价范文
2014/09/27 职场文书
2015年元旦主持词开场白
2014/12/14 职场文书
社区服务活动感想
2015/08/11 职场文书
初二英语教学反思
2016/02/15 职场文书
2016年读书月活动总结范文
2016/04/06 职场文书
使用 JavaScript 制作页面效果
2021/04/21 Javascript
django如何自定义manage.py管理命令
2021/04/27 Python
HTML基础详解(下)
2021/10/16 HTML / CSS
mysql如何查询连续记录
2022/05/11 MySQL