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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM