python创建进程fork用法
本文实例讲述了python创建进程fork用法。分享给大家供大家参考。具体分析如下:
#!coding=utf-8 import os ,traceback import time ''' fork()系统调用是Unix下以自身进程创建子进程的系统调用, 一次调用,两次返回,如果返回是0, 则是子进程,如果返回值>0,则是父进程(返回值是子进程的pid) ''' source = 10 i = 0 try: print '***********************' pid = os.fork() #这里会返回两次,所以下面的省略号会输出2次 print '......' if pid == 0:#子进程 print "this is child process" source = source - 1 print 'child process source is ',source time.sleep(10) print 'child sleep done' else: #父进程 print "this is parent process" print 'parent process source is ',source time.sleep(10) print 'parent sleep done' print source except: traceback.print_exc()
输出如下:
*********************** ...... this is child process child process source is 9 ...... this is parent process parent process source is 10 child sleep done 9 parent sleep done 10
希望本文所述对大家的Python程序设计有所帮助。
相关推荐
-
Python multiprocessing模块中的Pipe管道使用实例
multiprocessing.Pipe([duplex]) 返回2个连接对象(conn1, conn2),代表管道的两端,默认是双向通信.如果duplex=False,conn1只能用来接收消息,conn2只能用来发送消息.不同于os.open之处在于os.pipe()返回2个文件描述符(r, w),表示可读的和可写的 实例如下: 复制代码 代码如下: #!/usr/bin/python #coding=utf-8 import os from multiprocessing import P
-
Python实现处理管道的方法
本文实例讲述了Python实现处理管道的方法.分享给大家供大家参考.具体分析如下: Linux下的可以施展的最炫的魔法是什么?相信不同的人说法不同,但是如果没有管道,那么恐怕在绚丽魔法的都会失去魔力 这里就介绍怎么使用Python来处理这些管道 管道调用子程序 我们想在程序中使用一个子程序,但是需要动态的传递参数(这里说的动态,是指根据上次子程序输入的结果来决定这次输入什么),怎么办呢,不用慌,有subprocess! 下文我先介绍一个例子代码,以及他的输出结果! #!/usr/bin/pyth
-
python执行子进程实现进程间通信的方法
本文实例讲述了python执行子进程实现进程间通信的方法.分享给大家供大家参考.具体实现方法如下: a.py: import subprocess, time subproc = subprocess.Popen(['c:\python31\python.exe', 'c:/b.py'], stdin=subprocess.PIPE, shell=True) time.sleep(0.5) print('start') subproc.stdin.write('data\n') subproc.
-
Python进程通信之匿名管道实例讲解
匿名管道 管道是一个单向通道,有点类似共享内存缓存.管道有两端,包括输入端和输出端.对于一个进程的而言,它只能看到管道一端,即要么是输入端要么是输出端. os.pipe()返回2个文件描述符(r, w),表示可读的和可写的.示例代码如下: 复制代码 代码如下: #!/usr/bin/python import time import os def child(wpipe): print('hello from child', os.getpid()) while True:
-
python实现的守护进程(Daemon)用法实例
本文实例讲述了python实现的守护进程(Daemon)用法.分享给大家供大家参考.具体如下: def createDaemon(): "'Funzione che crea un demone per eseguire un determinato programma-"' import os # create - fork 1 try: if os.fork() > 0: os._exit(0) # exit father- except OSError, error: pr
-
Python守护进程用法实例分析
本文实例讲述了Python守护进程用法.分享给大家供大家参考.具体分析如下: 守护进程是可以一直运行而不阻塞主程序退出.要标志一个守护进程,可以将Process实例的daemon属性设置为True.代码如下: import os import time import random import sys from multiprocessing import Process,current_process def daemon(): p = current_process() print "sta
-
Python中使用PIPE操作Linux管道
Linux中进程的通信方式有信号,管道,共享内存,消息队列socket等.其中管道是*nix系统进程间通信的最古老形式,所有*nix都提供这种通信方式.管道是一种半双工的通信机制,也就是说,它只能一端用来读,另外一端用来写:另外,管道只能用来在具有公共祖先的两个进程之间通信.管道通信遵循先进先出的原理,并且数据只能被读取一次,当此段数据被读取后,马上会从数据中消失,这一点很重要. Linux上,创建管道使用pipe函数,当它执行后,会产生两个文件描述符,分别为读端和写端.单个进程中的管道几乎没有
-
python创建进程fork用法
本文实例讲述了python创建进程fork用法.分享给大家供大家参考.具体分析如下: #!coding=utf-8 import os ,traceback import time ''' fork()系统调用是Unix下以自身进程创建子进程的系统调用, 一次调用,两次返回,如果返回是0, 则是子进程,如果返回值>0,则是父进程(返回值是子进程的pid) ''' source = 10 i = 0 try: print '***********************' pid = os.for
-
通过实例解析python创建进程常用方法
运行程序时,单线程或单进程往往是比较慢的,为加快程序运行速度,我们可以使用多进程,可以理解为多任务同时运行,小编的电脑是四核,所以可以设置四个进程. 下面,我们来了解下多进程的使用: 1.使用multiprocessing模块创建进程 multiprocessing模块提供了一个Process类来代表进程对象,语法如下: Process([group[,target[,name[,args[,kwargs]]]]]) 其中,group:参数未使用,值始终是None target:表示当前进程启动
-
Python Process创建进程的2种方法详解
前面介绍了使用 os.fork() 函数实现多进程编程,该方法最明显的缺陷就是不适用于 Windows 系统.本节将介绍一种支持 Python 在 Windows 平台上创建新进程的方法. Python multiprocessing 模块提供了 Process 类,该类可用来在 Windows 平台上创建新进程.和使用 Thread 类创建多线程方法类似,使用 Process 类创建多进程也有以下 2 种方式: 直接创建 Process 类的实例对象,由此就可以创建一个新的进程: 通过继承 P
-
Python多进程multiprocessing、进程池用法实例分析
本文实例讲述了Python多进程multiprocessing.进程池用法.分享给大家供大家参考,具体如下: 内容相关: multiprocessing: 进程的创建与运行 进程常用相关函数 进程池: 为什么要有进程池 进程池的创建与运行:串行.并行 回调函数 多进程multiprocessing: python中的多进程需要使用multiprocessing模块 多进程的创建与运行: 1.进程的创建:进程对象=multiprocessing.Process(target=函数名,args=(参
-
Python 创建守护进程的示例
考虑如下场景:你编写了一个python服务程序,并且在命令行下启动,而你的命令行会话又被终端所控制,python服务成了终端程序的一个子进程.因此如果你关闭了终端,这个命令行程序也会随之关闭. 要使你的python服务不受终端影响而常驻系统,就需要将它变成守护进程. 守护进程就是Daemon程序,是一种在系统后台执行的程序,它独立于控制终端并且执行一些周期任务或触发事件,通常被命名为"d"字母结尾,如常见的httpd.syslogd.systemd和dockerd等. 代码实现 pyt
-
Python使用multiprocessing创建进程的方法
本文实例讲述了Python使用multiprocessing创建进程的方法.分享给大家供大家参考.具体分析如下: 进程可以通过调用multiprocessing的Process进行创建,下面代码创建两个进程. [root@localhost ~]# cat twoproces.py #!/usr/bin/env python from multiprocessing import Process import os def output(): print "My pid is :%d\n&quo
-
使用C语言的fork()函数在Linux中创建进程的实例讲解
在Linux中创建一个新进程的唯一方法是使用fork()函数.fork()函数是Linux中一个非常重要的函数,和以往遇到的函数有一些区别,因为fork()函数看起来执行一次却返回两个值. fork()函数用于从已存在的进程中创建一个新进程.新进程称为子进程,而园进程称为父进程.使用fork()函数得到的子进程是父进程的一个复制品,它从父进程处继承了整个进程的地址空间,包括进程的上下文.代码段.进程堆栈.内存信息.打开的文件描述符.符号控制设定.进程优先级.进程组号.当前工作目录.根目录.资源限
-
Python 创建空的list,以及append用法讲解
Python中list的用法:如何创建list,如何表达list中的元素,如何修改和删除list 运行环境:Python 3.6.2 0.空list的创建: l = list() 或者: l = [] 1.list中元素的创建和表达 fruits = ['apple', 'banana', 'pear', 'grapes', 'pineapple', 'watermelon'] fruits[2] #从0开始数起,第三个元素 pear 2.list中元素的更改 fruits[2] = 'toma
随机推荐
- iOS设置圆角的三种方法
- 报错:XML页无法显示,下列标记没有被关闭解决方法
- SQL Server Management Studio Express管理器 没有导入导出数据的向导的解决方法
- VBS教程:对象-正则表达式(RegExp)对象
- 如何把PHP转成EXE文件
- PHP实现向关联数组指定的Key之前插入元素的方法
- Go语言中new()和 make()的区别详解
- Powershell脚本的4种执行权限介绍
- Lua读写文件代码示例
- 深入SQL Cursor基本用法的详细介绍
- 使用MySQL的LAST_INSERT_ID来确定各分表的唯一ID值
- jQuery模拟淘宝购物车功能
- 原生js实现验证码功能
- ES6正则表达式扩展笔记
- 安装linux后 如何安装win2000?
- 利用keytools为tomcat 7配置ssl双向认证的方法
- Python文本处理之按行处理大文件的方法
- 详解Java高阶语法Volatile
- PHP INT类型在内存中占字节详解
- Android横竖屏切换及其对应布局加载问题详解