Python实战之子进程

Python实战之子进程

最近做一个小工具需要用到Python的字进程,看了一下Python的API,subprocess模块可以就可以实现,并且还挺简单

要实现一个简单的自进程,只需要

[python]  view plain copy print ?
  1. import sys, os, subprocess  
  2. p = subprocess.Popen(["ls""-l"], shell=False, stdin=None, stdout=None, stderr=None)  
  3. print p.pid  
  4. print p.returncode  
 

此时,pid将是子进程的ID号,如果子进程正常推出,returncode将会是None。

 

也可以使用以下代码创建子进程

[python]  view plain copy print ?
  1. import sys, os, subprocess  
  2. retcode=subprocess.call(["ls""-l"], shell=False, stdin=None, stdout=None, stderr=None)  
  3. print retcode  
 

 

此时,如果子进程正常推出,retcode将会是0。

 

另外,如果期望不要输出创建出来的子进程的打印信息,可以将方法参数中的stdout和stderr设置为subprocess.PIPE。

 

以下是一个小例子,创建一个子进程p1,然后再创建一个子进程p2用来结束p1的执行。

[python]  view plain copy print ?
  1. import sys, os, subprocess  
  2. p1 = subprocess.Popen(["sleep""60"], shell=False, stdin=None, stdout=None, stderr=None)  
  3. print p1.pid  
  4. print p1.returncode  
  5. p2 = subprocess.Popen(["kill", str(p1.pid)], shell=False, stdin=None, stdout=None, stderr=None)  
  6. print p2.pid  
  7. print p2.returncode  
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值