2016-05-23 60 views
0

分開後,我有一個Python腳本的.py,基本上做到這一點的Python - 啓動一個進程從主PY文件

<take input from console> 
<launch command with os.system> 
<quit console> 

是,當我啓動與使用os.system(串)的命令,這是執行的問題在python腳本中,只有當命令完成時它纔會退出控制檯。 我希望啓動命令作爲另一個進程,所以主代碼繼續,可以退出控制檯(我猜是「退出」),而無需觸及它啓動的進程。我怎麼能夠?

+0

這是一個多線程/多進程的概念。請學習多線程,多處理和子進程模塊。 – pmaniyan

回答

0

發給system()的命令是作爲一個單獨的進程啓動,但system()等待其終止。避免這個問題的最簡單的方法是通過附加&到您的命令字符串,則該命令在後臺執行(即無需等待其終止。):

system('./call_my_lengthy_program.sh &') 
0

您也可以使用subprocess module

# useless example 
import subprocess 
subprocess.Popen("sleep.exe 5 && echo test", shell=True) 
exit(0) 

..這將等待5秒鐘並將測試打印到您的標準輸出。

相關問題