Python实战之子进程
最近做一个小工具需要用到Python的字进程,看了一下Python的API,subprocess模块可以就可以实现,并且还挺简单要实现一个简单的自进程,只需要
import sys, os, subprocessp = subprocess.Popen(["ls", "-l"], shell=False, stdin=None, stdout=None, stderr=None)print p.pidprint p.returncode
此时,pid将是子进程的ID号,如果子进程正常推出,returncode将会是None。
也可以使用以下代码创建子进程
import sys, os, subprocessretcode=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, subprocessp1 = subprocess.Popen(["sleep", "60"], shell=False, stdin=None, stdout=None, stderr=None)print p1.pidprint p1.returncodep2 = subprocess.Popen(["kill", str(p1.pid)], shell=False, stdin=None, stdout=None, stderr=None)print p2.pidprint p2.returncode
页:
[1]