ret = os.fork() if ret == 0: child_suite # 子進程代碼
else: parent_suite # 父進程代碼
Python中的fork() 函數可以獲得系統中進程的PID ( Process ID ),返回0則為子進程,否則就是父進程,然后可以據此對運行中的進程進行操作;
但是強大的 fork() 函數在Windows版的Python中是無法使用的。。。只能在Linux系統中使用,比如 Ubuntu 15.04,Windows中獲取父進程ID可以用 getpid()。
其他還有如下這些os.函數都無法在Windows中使用:
uname(), | 獲得系統信息(主機名、操作系統版本、補丁級別、系統構架等) |
getuid(), | 獲取/設置現在進程的真正的用戶ID |
getgid(), | 獲取/設置現在進程的群組ID |
getsid(), | 獲取回話ID 或者創建和返回新的SID |
geteuid(), | 獲取/設置當前進程的有效用戶ID(GID) |
getegid(), | 獲取/設置當前進程的有小組ID(GID) |
getpgid(), | 獲取/設置進程GID進程PID: 對於get,如果pid為0, 便返回現在進程的進程GID |
getlogin(), | 返回運行現在進程的用戶登錄 |
getloadavg(); | 返回代表在過去 1,5,15分鍾內的系統平均負載值的元祖 |
這就是為何部署服務器集群大都采用Linux,不只是因為應用部署在Linux在系統中非常穩定、流暢,更重要的是各種工具SDK的功能更完善。
阿里雲的服務器支持Linux系列的Ubuntu系統,Ubuntu是個人最喜歡用的Linux桌面系統,最新版是Ubuntu 15.04 keylin,kylin是專為中國定制的Ubuntu版本,界面不比MacOS差,感興趣的、有時間研究的可以下載一個裝上試試。