Python::OS 模块 -- 进程参数
os模块的简介请参看 Python::OS 模块 -- 简介
os模块的文件和目录操作 Python::OS 模块 -- 文件和目录操作
os模块的进程管理 Python::OS 模块 -- 进程管理
Python的os模块提供了对进程参数的设置,包括进程的运行环境,进程的运行权限等信息。
通过Python的os模块提供的接口,可以修改进程的环境变量,执行时的权限设置,用户ID,用户组ID的修改以及进程ID,进程组ID,附加组ID以及进程的会话ID的修改和获取,这些都是使用python进行系统编程的必要条件。
下面是对这些os模块提供的接口的介绍(仅限Unix平台):
修改和获取环境变量
环境变量关系到一个进程在运行时的行为,环境变量控制了进程的运行环境。Python的os模块提供了获取环境变量和修改环境变量的能力。
os.environ
一个mapping对象,用于存储环境变量和对应的值。该mapping对象在os模块被import的时候被载入,在这之后如果修改了环境变量,不会反映到该mapping对象,除非是通过os.environ直接修改。
os.getenv(varname[, value])
如果存在环境变量为varname的值,则返回该值,否则返回传递进去的value,如果value没有指定,则返回None。
os.putenv(varname, value)
设置环境变量名为varname的值为value,这样设置环境变量会影响以os.system(),os.popen()或os.fork()和os.execv()创建的子进程。
注意:当os.putenv()被支持,则直接修改os.environ会自动的转换为调用os.putenv(),但是直接调用os.putenv()不会对os.environ产生影响,所以修改os.envron()的唯一方法是直接进行赋值操作。
os.unsetenv(varname)
删除一个环境变量varname,该修改会影响创建的子进程的运行环境。
同样的,当os.unsetenv()如果被支持,那么当直接删除os.environ中的环境变量的时候,会转换为调用unsetenv()来进行操作,但是直接调用 unsetenv()不是更新os.envron的内容,所以修改os.environ的有效方法是直接修改该mapping对象。
获取和修改用户ID和组ID
os.getegid()
返回当前进程的有效用户组ID
os.geteuid()
返回当前进程的有效用户ID
os.getuid()
返回当前进程的用户ID
os.getgid()
返回当前进程的用户组ID
os.getgroups()
返回由当前进程附加的组ID编号组成的列表
os.getresuid()
返回一个元组(ruid,euid,suid),表示当前进程的实际用户ID,有效用户ID和保存的用户ID
os.getresgid()
返回一个元组(rgid, egid, sgid),表示当前进程的实际用户组ID,有效的用户组ID和保存的用户组ID
os.setegid(egid)
设置当前进程的有效用户组ID
os.seteuid(euid)
设置当前进程的有效用户ID
os.setgroups(groups)
设置当前进程有关的附加组ID,参数groups必须是一个序列类型,而且每个参数必须是一个整数表示的组ID,该操作只能对超级用户有效。
os.setpgid(pid, pgrp)
设置进程的用户组ID如果进程的ID为pid,所在用进程组ID为pgrp。
os.setregid(rgid, egid)
设置当前进程的有效用户组ID和实际用户组ID
os.setresgid(rgid,egid,sgid)
设置当前进程的实际组ID,有效组ID和保存的用户组ID。
os.setresuid(ruid,euid,suid)
设置当前进程的实际用户ID,有效用户ID和保存的用户组ID。
os.setreuid(ruid, euid)
设置当前进程的实际用户ID和有效用户ID
设置和获取进程相关ID
os.getpgid(pid)
返回进程ID为pid的进程的组ID,如果pid=0,则返回当前调用进程的进程组ID
os.getpgrp()
返回当前进程的进程组ID
os.getpid()
返回当前进程的进程ID
os.getppid()
返回当前进程的父进程的ID
os.getsid(pid)
返回进程ID为pid的进程所在的会话的会话ID
os.setsid()
设置当前进程的会话ID
os.setuid(uid)
设置当前进程的用户ID
其他系统处理函数
os.ctermid()
返回当前进程的控制终端
os.getlogin()
返回登录到系统的用户名
os.strerror(code)
返回错误码code对应的错误信息,当错误信息未知时,抛出一个ValueError异常。
os.umask(mask)
设置当前进程的权限掩码,并且返回设置前的权限掩码。
os.uname()
返回一个5元组,包括当前操作系统的信息,该5元组包括:(sysname, nodename, release, version, machine)。
Python::OS 模块 -- 进程参数的更多相关文章
- Python::OS 模块 -- 进程管理
os模块的简介参看 Python::OS 模块 -- 简介 os模块的文件相关操作参看 Python::OS 模块 -- 文件和目录操作 os模块的进程参数 Python::OS 模块 -- 进程参数 ...
- python os模块进程函数
Table of Contents 1. 系统进程 2. 举例 2.1. os.fork 2.2. os.exec 和 os.system 2.3. os.wait 3. 总结 系统进程 今天在看&l ...
- Python::OS 模块 -- 文件和目录操作
os模块的简介参看 Python::OS 模块 -- 简介 os模块的进程管理 Python::OS 模块 -- 进程管理 os模块的进程参数 Python::OS 模块 -- 进程参数 os模块中包 ...
- Python::OS 模块 -- 简介
OS 模块简介 OS模块是Python标准库中的一个用于访问操作系统功能的模块,OS模块提供了一种可移植的方法使用操作系统的功能.使用OS模块中提供的接口,可以实现跨平台访问.但是在OS模块中的接口并 ...
- python OS 模块 文件目录操作
Python OS 模块 文件目录操作 os模块中包含了一系列文件操作的函数,这里介绍的是一些在Linux平台上应用的文件操作函数.由于Linux是C写的,低层的libc库和系统调用的接口都是C AP ...
- Python OS模块标准库的系统接口及操作方法
Python OS模块标准库的系统接口及操作方法 os.name 返回当前操作系统名,定义了'posix','nt','mac','os2','ce','java'(我使用win7/python3.1 ...
- python os模块学习
一.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的. 二.常用方法 1.os.name 输出字符串指示正在使用的平台.如果是wi ...
- python os模块详解
一.Python os模块(Linux环境) 1.1 执行shell命令 os.system('cmd') 执行命令不保存结果 os.popen('command') 执行后返回结果,使用.read( ...
- Python OS模块常用功能 中文图文详解
一.Python OS模块介绍 OS模块简单的来说它是一个Python的系统编程的操作模块,可以处理文件和目录这些我们日常手动需要做的操作. 可以查看OS模块的帮助文档: >>> i ...
随机推荐
- [问题2015S06] 复旦高等代数 II(14级)每周一题(第七教学周)
[问题2015S06] 设 \(V\) 是数域 \(\mathbb{K}\) 上的 \(n\) 维线性空间, \(\varphi\) 是 \(V\) 上的线性变换. (1) 求证: 对任一非零向量 ...
- 51nod 1264 线段相交(几何)
题目链接:51nod 1264 线段相交 如果两条线段相交,则需满足一条线段的一个端点在另一条线段上,或者 两条线段都分别跨越另一条线段延伸的直线上.(如果点p1位于直线p3p4的一边,而点p2位于该 ...
- Java Script
一.JavaScript简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司 ...
- apanda安装
- 0525Scrum项目7.0
一.Spring1回顾: 在这第一个冲刺中,我们主要是完成了主界面的建立,过程虽然有些曲折,大家有时候找的素材.图片都有一些冲突,但是最后我们还是求同存异,努力地做好界面! 在这一个冲刺中,我们虽然算 ...
- 老麦看点:SEO高手的两大秘诀
一.技术真的是主导因素吗? 很多人站长朋友操作一段网站之后,发现自己的排名还是在渺渺无期,真可谓:“众里寻排名千百度,可是排名却不在阑珊处”,于是我们开始怀疑自己,怀疑自己的技术等,但是我们静下心里仔 ...
- alter table的用法
在数据库开发过程中,除了用得最多的数据库查询外,我们有时也需要去修改数据表的定义,比如在已存在的数据表中新增列和删除列等.这篇文章就总结一下alter table语句的用法. 示例代码如下. USE ...
- HDU 1171 背包
Big Event in HDU Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- BestCoder Round #39
-------好久没更新博客了,发现还是需要不断总结才能进步,所以还是把最近打的一些比赛记录一下. T1:Delete (hdu 5210) 题目大意: 给出n个数,然后要删掉k个,要求剩下的数中 不 ...
- 安装了VS2010 sp1 后再安装ASP.NET MVC 3.0的问题
安装了VS2010 sp1 后再安装ASP.NET MVC 3.0的问题(Final Result: Installation failed with error code: (0x80070643) ...