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 模块 -- 进程参数的更多相关文章

  1. Python::OS 模块 -- 进程管理

    os模块的简介参看 Python::OS 模块 -- 简介 os模块的文件相关操作参看 Python::OS 模块 -- 文件和目录操作 os模块的进程参数 Python::OS 模块 -- 进程参数 ...

  2. python os模块进程函数

    Table of Contents 1. 系统进程 2. 举例 2.1. os.fork 2.2. os.exec 和 os.system 2.3. os.wait 3. 总结 系统进程 今天在看&l ...

  3. Python::OS 模块 -- 文件和目录操作

    os模块的简介参看 Python::OS 模块 -- 简介 os模块的进程管理 Python::OS 模块 -- 进程管理 os模块的进程参数 Python::OS 模块 -- 进程参数 os模块中包 ...

  4. Python::OS 模块 -- 简介

    OS 模块简介 OS模块是Python标准库中的一个用于访问操作系统功能的模块,OS模块提供了一种可移植的方法使用操作系统的功能.使用OS模块中提供的接口,可以实现跨平台访问.但是在OS模块中的接口并 ...

  5. python OS 模块 文件目录操作

    Python OS 模块 文件目录操作 os模块中包含了一系列文件操作的函数,这里介绍的是一些在Linux平台上应用的文件操作函数.由于Linux是C写的,低层的libc库和系统调用的接口都是C AP ...

  6. Python OS模块标准库的系统接口及操作方法

    Python OS模块标准库的系统接口及操作方法 os.name 返回当前操作系统名,定义了'posix','nt','mac','os2','ce','java'(我使用win7/python3.1 ...

  7. python os模块学习

    一.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的. 二.常用方法 1.os.name 输出字符串指示正在使用的平台.如果是wi ...

  8. python os模块详解

    一.Python os模块(Linux环境) 1.1 执行shell命令 os.system('cmd') 执行命令不保存结果 os.popen('command') 执行后返回结果,使用.read( ...

  9. Python OS模块常用功能 中文图文详解

    一.Python OS模块介绍 OS模块简单的来说它是一个Python的系统编程的操作模块,可以处理文件和目录这些我们日常手动需要做的操作. 可以查看OS模块的帮助文档: >>> i ...

随机推荐

  1. Spring中处理Post方法中文乱码

    在Web.xml中配置: <!-- 注册Spring提供的处理Post请求的乱码问题 --> <filter> <filter-name>CharacterEnco ...

  2. Log4Net 配置SQL2008数据库 并传入自定义业务对象

    最近根据业务需要,俺们老大要求我们了解一个c#的组件——Log4Net 这玩意儿从来没弄过,感觉挺深奥的,结果经过2天的研究,还算小有所成吧,基本思路已经清晰明了了,不过过程中遇到一些很奇葩的问题,和 ...

  3. 《BI项目笔记》历年感官评吸质量均值变化分析Cube的建立

    分析主题主要维度:烟叶级别.烟叶级别按等级信息.烟叶级别按分级标准(标准维度)产地(父子维度)检测时间(时间维度,以Tqc_Raw_SmokingTest .CheckTime字段派生CheckDat ...

  4. 焦点问题onfocus=”this.blur()”代替方法(转)

    为了去除链接的虚线框,网上搜索到最常见的方法是onfocus=“this.blur()”,不过同时搜索到的是这会不利于盲人浏览使用页面 在淘宝ued官方博客上详细说明了解决方法,这里转了部分,完整版: ...

  5. Response.End()在Webform和ASP.NET MVC下的表现差异

    前几天在博问中看到一个问题--Response.End()后,是否停止执行?MVC与WebForm不一致.看到LZ的描述后,虽然奇怪于为何用Response.End()而不用return方式去控制流程 ...

  6. RMAN的实战篇--备份脚本

    案列一. 目标: 1.每天夜间1 点执行:2.数据库全备,同时备份控制文件及归档日志文件,备份文件保存至: /backup\目录下,并在完成归档日志文件备份后,自动删除已备份的归档日志:3.备份保留7 ...

  7. Oracle 优化 - CPU 问题

    作为 OLTP 应用,一般不太有 CPU 问题,比较少 - 毕竟大多数问题都是 IO 引起:但是偶尔也会有. 问题判断 很简单 - OS 出现 CPU 很高的问题,持续高于 90% 应用可能会表现慢 ...

  8. js高级程序设计(七)BOM

    window 对象 BOM 的核心对象是window,它表示浏览器的一个实例.在浏览器中,window 对象有双重角色,它既是通过JavaScript 访问浏览器窗口的一个接口,又是ECMAScrip ...

  9. Svn与Git的一些区别(转载)

    把第一条理解到位思想到位了做起来才会有的放矢,其他几条都是用的时候才能体会到 1) 最核心的区别Git是分布式的,而Svn不是分布的.能理解这点,上手会很容易,声明一点Git并不是目前唯一的分布式版本 ...

  10. JavaWeb基础: ServletConfig

    基本概念 ServletConfig用于配置Servlet的参数:在Servlet的配置文件中,可以使用一个或者是多个<init-param> 标签为Servlet配置一些初始化参数.当有 ...