博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python中os.fork()的简单理解
阅读量:4280 次
发布时间:2019-05-27

本文共 851 字,大约阅读时间需要 2 分钟。

Python中,通过os.fork()会做下面的事情

(1)创建子进程,子进程会复制父进程的数据信息,然后程序就分两个进程继续运行后面的程序,这也是fork(分叉)名字的含义了。
(2)在父进程内,这个方法会返回子进程的编号PID。
(3)在子进程内,这个方法会返回0。
所以可以使用PID来区分两个进程:

import osdef doing():	print '{} : before fork'.format(os.getpid())	pid = os.fork()	#复制出来的子进程会在这里继续执行,同时pid=0	print '{} : after  fork'.format(os.getpid())	if pid == 0:		# We are in the child process.		print "{} (child) was created by {}.".format(os.getpid(), os.getppid())	else:		# We are in the parent process.		print "{} (parent) created {}.".format(os.getpid(), pid)	print '{} : end'.format(os.getpid())	print '************************'if __name__ == '__main__':	doing()
85925 : before fork85925 : after  fork85925 (parent) created 85926.85925 : end************************85926 : after  fork85926 (child) was created by 85925.85926 : end************************Process finished with exit code 0

转载地址:http://bmzgi.baihongyu.com/

你可能感兴趣的文章
[内核内存] [arm64] 内存规整2---页间内容的迁移(__unmap_and_move函数)
查看>>
[内核内存] [arm64] 内存回收1---LRU链表机制
查看>>
[内核内存] [arm64] 内存回收2---快速内存回收和直接内存回收
查看>>
[内核内存] [arm64] 内存回收3---kswapd内核线程回收
查看>>
[内核内存] [arm64] 内存回收4---shrink_node函数详解
查看>>
[内核内存] [arm64] 内存回收5---add_to_swap函数详解
查看>>
[内核内存] 反向映射详解
查看>>
[内核内存] slab分配器1---slab机制详解
查看>>
[内核内存] slab分配器2---slab系统初始化
查看>>
[内核内存] slab分配器3---kmem_cache_init函数源码详解
查看>>
[内核内存] slab分配器4---kmem_cache_init_late函数源码详解
查看>>
[用户态内存] 共享内存1---tmpfs和ramfs
查看>>
[用户态内存] 共享内存2---Posix共享内存
查看>>
共性之美—寻找相同点
查看>>
设计模式初探
查看>>
结构型模式—适配器模式
查看>>
观察者模式与依赖倒转原则
查看>>
【GIS】(一)——MapServer的"自我介绍"
查看>>
【Linux基础】重定向与管道
查看>>
【Linux基础】shell编程
查看>>