最近做一个小工具需要用到Python的字进程,看了一下Python的API,subprocess模块可以就可以实现,并且还挺简单
要实现一个简单的自进程,只需要
import sys, os, subprocess p = subprocess.Popen(["ls", "-l"], shell=False, stdin=None, stdout=None, stderr=None) print p.pid print p.returncode
此时,pid将是子进程的ID号,如果子进程正常推出,returncode将会是None。
也可以使用以下代码创建子进程
import sys, os, subprocess retcode=subprocess.call(["ls", "-l"], shell=False, stdin=None, stdout=None, stderr=None) print retcode
此时,如果子进程正常推出,retcode将会是0。
另外,如果期望不要输出创建出来的子进程的打印信息,可以将方法参数中的stdout和stderr设置为subprocess.PIPE。
以下是一个小例子,创建一个子进程p1,然后再创建一个子进程p2用来结束p1的执行。
import sys, os, subprocess p1 = subprocess.Popen(["sleep", "60"], shell=False, stdin=None, stdout=None, stderr=None) print p1.pid print p1.returncode p2 = subprocess.Popen(["kill", str(p1.pid)], shell=False, stdin=None, stdout=None, stderr=None) print p2.pid print p2.returncode
3万+

被折叠的 条评论
为什么被折叠?



