对python中的os.getpid()和os.fork()函数详解

作者:crazyBird_GJY 时间:2022-11-29 05:22:51 

如下所示:


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

来源:https://blog.csdn.net/qq_38839677/article/details/80671579

标签:python,os.getpid,os.fork
0
投稿

猜你喜欢

  • 网页设计中怎么将px换成em

    2008-04-16 13:50:00
  • 微信公众平台开发教程(六)获取个性二维码的实例

    2024-04-10 11:04:12
  • Python 栈实现的几种方式及优劣详解

    2023-11-02 14:25:18
  • python 将大文件切分为多个小文件的实例

    2021-05-23 23:32:02
  • 实现SQL Server到DB2连接服务器很简单

    2010-08-08 15:24:00
  • Oracle中sys和system的区别小结

    2009-11-10 20:36:00
  • 图片预加载效果的实现

    2008-06-16 12:08:00
  • Anaconda+vscode+pytorch环境搭建过程详解

    2022-04-06 01:37:19
  • 浅谈视觉设计的准确性

    2007-09-18 17:59:00
  • Python跨文件全局变量的使用技巧

    2023-09-17 00:00:31
  • Python动态加载模块的3种方法

    2023-12-22 21:33:29
  • MySQL窗口函数实现榜单排名

    2024-01-16 20:22:22
  • 神经网络理论基础及Python实现详解

    2023-04-01 20:48:23
  • sql server 触发器实例代码

    2012-01-05 19:09:28
  • 用python的哈希函数对密码加密

    2021-06-10 21:02:58
  • python 实现单一数字取对数与数列取对数

    2023-04-02 01:38:14
  • oracle下一条SQL语句的优化过程(比较详细)

    2010-04-22 16:58:00
  • 将数据集制作成VOC数据集格式的实例

    2023-05-16 06:00:15
  • python list使用示例 list中找连续的数字

    2022-10-16 19:49:46
  • MySQL 原理与优化之原数据锁的应用

    2024-01-27 05:43:51
  • asp之家 网络编程 m.aspxhome.com