作者Holocaust123 (一步一脚印)
看板Python
标题[问题] 如何在父程序结束後不终止子程序
时间Thu Jul 14 21:17:41 2011
#!/usr/bin/python
#coding=utf8
import subprocess
cmd = 'test.sh'
p = subprocess.Popen(cmd)
print 'end of program'
假设上面是a.py的内容
有几个问题想问:
1. 如何让a.py执行时, 不要等待test.sh的执行结果, 而是直接执行print statement
我仔细看过
http://docs.python.org/library/subprocess.html 了
但这个module似乎没有类似os module的"no wait"功能
2. 如何让a.py执行结束後, 不要terminate subprocess(即让test.sh在a.py结束後依然继续执行)
目前我找到的方法只能在Linux上使用(用nohup指令)
但我想找跨平台的作法, 也就是在Windows或Linux上皆适用的方法
这两个问题困扰我很久了, 希望好心人能指点一下
如果可以的话希望不要提供deprecated modules的作法, 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.31.149
1F:推 ya790206:p = Popen('command', shell=True) 07/14 22:33
2F:→ ya790206:我是指subprocess里的,不是其他地方的 07/14 22:34
3F:→ Holocaust123:没效果耶@@ 07/14 22:47
4F:→ ya790206:p = Popen('notepad', shell=True)我测试有效果耶,你怎 07/14 22:53
5F:→ ya790206:麽执行程式的,我是windows下点两下执行的python script 07/14 22:54
6F:→ ya790206:我没测试linux 07/14 22:54