Python::OS 模块 -- 进程参数

from :http://www.cnblogs.com/now-fighting/p/3534847.html

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)。

请使用浏览器的分享功能分享到微信等