python 的os.getpid()和os.fork()函数

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)print "Process finishingntpid: %d, processName: %s" % (os.getpid(), processName)

 程序每次执行时,操作系统就会创建一个新的进程来运行程序指令。进程还可以调用os.fork,要求操作系统新建一个进程。“父进程”是调用os.fork的进程。父进程所创建的任何进程都是子进程。每个进程都有一个不重复的“进程ID号”,或称“pid”,它对进程进程进行标识。
进程调用fork函数时,操作系统会新建一个子进程,它本质上与父进程完全相同。子进程从父进程继承了多个值的拷贝,比如全局变量和环境变量。两个进程唯一的区别就是fork的返回值。
child(子)进程接收返回值为0,而父进程接收子进程的pid作为返回值。调用fork函数后,两个进程并发执行同一个程序,首先执行的是调用了fork之后的下一行代码。父进程和子进程既并发执行,又相互独立;也就是说,它们是“异步执行”的。

转自http://www.dajo.com.cn//a/boke/python/2013/1124/135.html

时间: 2024-10-07 00:43:45

python 的os.getpid()和os.fork()函数的相关文章

(python) 标准模块sys和os的使用

一.sys模块 包含了系统的相关的功能.我们来学习sys.argv,它包含命令行参数. 例子:定义了一个add函数,用来实现两个整数的相加. #! coding=utf-8 # usersys.py import sys def add(a,b): print a+b print sys.argv if len(sys.argv)<2: print "argv is lower 2" else: if sys.argv[1].startswith("-") a

python os.walk()和os.path.walk()

一.os.walk() 函数声明:os.walk(top,topdown=True,onerror=None) (1)参数top表示需要遍历的顶级目录的路径. (2)参数topdown的默认值是“True”表示首先返回顶级目录下的文件,然后再遍历子目录中的文件.当topdown的值为"False"时,表示先遍历子目录中的文件,然后再返回顶级目录下的文件. (3)参数onerror默认值为"None",表示忽略文件遍历时的错误.如果不为空,则提供一个自定义函数提示错误

python中常见模块命令(os/sys/platform)

一.Os Python的标准库中的os模块主要涉及普遍的操作系统功能.可以在Linux和Windows下运行,与平台无关. os.sep 可以取代操作系统特定的路径分割符. os.name字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径. os.getenv()和os.putenv()函数分别用来读取和设置环境变量. os.listdir()返回

Python -- 标准库 文件管理 (部分os包,shutil包)

在操作系统下,用户可以通过操作系统的命令来管理文件,参考linux文件管理相关命令.Python标准库则允许我们从Python内部管理文件.相同的目的,我们有了两条途径.尽管在Python调用标准库的方式不如操作系统命令直接,但有它自己的优势.你可以利用Python语言,并发挥其他Python工具,形成组合的文件管理功能.Python or Shell? 这是留给用户的选择.本文中会尽量将两者相似的功能相对应. 本文基于linux文件管理背景知识 os包 os包包括各种各样的函数,以实现操作系统

python模块之re,os,sys。冒泡算法和反射。

python内置模块之(os,sys,hashlib,re) os模块 1 os.path.dirname() # 获取文件的上一层目录名,其实就是os.path.split(path)的第一个元素 2 os.path.abspath() # 获取文件的绝对路径,包括文件名 3 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 4 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd 5 os.curdir 返回当前目录:

Python之文件操作:os模块

Python os 模块提供了一个统一的操作系统接口函数 一.对于系统的操作 1.os.name 当前使用平台 其中 'nt' 是 windows,'posix' 是linux 或者 unix 2.os.sep 输出操作系统的特定的路径分隔符.Win下为"\",Linux下为"/" 3.os.pathsep 输出分格符 输出用于分割文件路径的字符串. Windows下是':' 4.os.linesep 换行符 输出当前平台是用的行终止符,win下为"\r\

Python的logging模块、os模块、commands模块与sys模块

一.logging模块 import logging logging.debug('This is debug message') logging.info('This is info message') logging.warning('This is warning message') 屏幕上打印: WARNING:root:This is warning message 默认情况下,logging将日志打印到屏幕,日志级别为WARNING: 日志级别大小关系为:CRITICAL > ERR

python os.system()和os.popen()

1>python调用Shell脚本,有两种方法:os.system()和os.popen(),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容.>>>help(os.system)Help on built-in function system in module posix:system(...)    system(command) -> exit_status    Execute the command (a string) in a subshe

python 常用模块 time random os模块 sys模块 json &amp; pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则

python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib  subprocess logging re正则 转自老男孩老师Yuan:http://www.cnblogs.com/yuanchenqi/articles/5732581.html 模块&包(* * * * *) 模块(modue)的概念: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,