`

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创建进程fork用法

    本文实例讲述了python创建进程fork用法。分享给大家供大家参考。具体分析如下: #!coding=utf-8 import os ,traceback import time ''' fork()系统调用是Unix下以自身进程创建子进程的系统调用, 一次调用,两次...

    python编写守护进程实现当python进程被杀后重启进程的源代码

    # 第一次fork,创建子进程,父进程退出 pid = os.fork() if pid > 0: sys.exit(0) # 父进程退出 except OSError as e: sys.stderr.write(f"fork failed: {e}\n") sys.exit(1) # 终端分离,改变工作目录,...

    Python多进程fork()函数详解

    ### Python多进程fork()函数详解 #### 进程与多进程概念 进程是程序的一次动态执行过程,从代码加载、执行直至执行完毕构成了进程的生命周期。进程是系统进行资源分配和调度的基本单位,通常包括代码(堆栈段)、...

    python实现 进程创建、控制与撤消

    - `multiprocessing`模块是Python的标准库之一,提供了类似POSIX `fork()`的功能,用于创建子进程。 - 主要包含以下关键组件: - `Process`: 表示一个进程对象,可以调用其`start()`方法启动进程。 - `Pool`: ...

    python使用fork实现守护进程的方法

    1. **创建第一个子进程**:父进程调用`os.fork()`,如果成功,父进程将得到子进程的PID并退出,这样子进程就成为孤儿进程。孤儿进程通常由 init 进程接管,使其成为守护进程。 2. **改变工作目录**:为了进一步确保...

    python多进程重复加载的解决方式

    这样做能够避免每次进程启动时都重新加载资源,因为Python的多进程是通过fork机制来实现的,当执行到import语句时,模块会被加载到内存中,但当程序运行在多进程中时,fork出的子进程会继承父进程的内存空间,从而...

    在Python中os.fork()产生子进程的例子

    在Python编程语言中,`os.fork()`是一个非常重要的系统调用,用于创建子进程。这个函数的行为在Unix-like操作系统(如Linux、macOS)上是定义明确的,但在Windows等其他平台上可能不可用。`os.fork()`的神奇之处在于...

    python基础教程:Python中的进程分支fork和exec详解

    在Linux系统中,Python可以通过`os.fork()`函数来创建进程分支。`fork()`函数非常独特,它在一个调用中产生两次返回:一次在父进程中返回子进程的PID(进程标识符),一次在子进程中返回0。这意味着在调用`fork()`后...

    python 进程的几种创建方式详解

    在新创建的子进程中,会把父进程的所有信息复制一份,它们之间的数据互不影响。 使用os.fork()创建 该方式只能用于Unix/Linux操作系统中,在windows不能用。 import os # 注意,fork函数,只在Unix/Linux/Mac上...

    python os.fork() 循环输出方法

    在Python中使用os.fork()创建子进程后,子进程会从fork调用的下一行开始执行,与此同时父进程也会继续执行。fork的返回值在父进程中是新创建的子进程的进程ID(pid),而在子进程中返回值是0。通过检查fork的返回值...

    Python多进程写入同一文件的方法

    需要注意的是,在Windows环境下,由于缺乏类似于Linux的`fork`机制,`multiprocessing`库使用另一种方式创建进程,这可能导致文件句柄不能正确地在父进程和子进程之间共享。因此,如果在子进程中尝试访问父进程打开...

    小结Python用fork来创建子进程注意事项

    自己随手写了Python下 fork 进程的测试代码(来说明这个问题不一定完全合适): def fork(a): def now(): import datetime return datetime.datetime.now().strftime("%S.%f") import os import time print ...

    python3 socket threading fork 多线程+多进程 简单实例

    这篇文章主要讲解了如何在Python3中使用`socket`、`threading`以及`fork`来实现多线程和多进程的简单示例。通过这些技术,开发者可以构建一个能够同时处理多个客户端请求的服务端程序。 首先,`socket`库是Python中...

    Python中的进程分支fork和exec详解

    1.fork()调用后会创建一个新的子进程,这个子进程是原父进程的副本.子进程可以独立父进程外运行. 2.fork()是一个很特殊的方法,一次调用,两次返回. 3.fork()它会返回2个值,一个值为0,表示在子进程返回;另外一个值为非0...

    Python-守护进程管理基类提供守护进程创建及终止日志记录子进程管理

    这个"Python-守护进程管理基类提供守护进程创建及终止日志记录子进程管理"项目就是一个这样的工具。 首先,让我们深入理解守护进程的基本概念。在Unix-like系统中,守护进程是不与任何终端关联的进程,它们在后台...

    精品课件 Python从入门到精通 第18章 使用进程和线程(共18页).pptx

    在Python中,创建进程有多种方式,如使用内置的`os.fork()`函数,以及`multiprocessing`模块中的`Process`类。`os.fork()`通过复制当前进程创建子进程,而`multiprocessing`模块则提供了更高级别的接口,可以更加...

Global site tag (gtag.js) - Google Analytics