Python 创建子进程模块subprocess详解

691次阅读  |  发布于5年以前

最近,我们老大要我写一个守护者程序,对服务器进程进行守护。如果服务器不幸挂掉了,守护者能即时的重启应用程序。上网Google了一下,发现Python有很几个模块都可以创建进程。最终我选择使用subprocess模块,因为在Python手册中有这样一段话:

  This module intends to replace several other, older modules and functions, such as: os.system、os.spawn、os.popen、popen2.、commands.

  subprocess被用来替换一些老的模块和函数,如:os.system、os.spawn、os.popen、popen2.、commands.。可见,subprocess是被推荐使用的模块。

下面是一个很简单的例子,创建一个新进程,执行app1.exe,传入相当的参数,并打印出进程的返回值:

复制代码 代码如下:

import subprocess

returnCode = subprocess.call('app1.exe -a -b -c -d')
print 'returncode:', returnCode

----- 结果 --------

Python is powerful

app1.exe

-a

-b

-c

-d

returncode: 0

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8