作者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
推 ya790206:p = Popen('command', shell=True) 07/14 22:33
→ ya790206:我是指subprocess裡的,不是其他地方的 07/14 22:34
→ Holocaust123:沒效果耶@@ 07/14 22:47
→ ya790206:p = Popen('notepad', shell=True)我測試有效果耶,你怎 07/14 22:53
→ ya790206:麼執行程式的,我是windows下點兩下執行的python script 07/14 22:54
→ ya790206:我沒測試linux 07/14 22:54