2013-02-27 24 views
1

我想運行一個shell腳本,它執行特定的工作,同時我會等待用戶的輸入來結束這個工作。我怎樣才能做到這一點?這裏是我的示例代碼:如何在多進程中從python調用shell腳本?

from subprocess import call 

cmd = "internals/applog.sh " 
call([cmd]) 

raw_input("Press Y when you are done: ") 

上面的代碼首次執行調用語句和應用log.sh結束,然後啓動以下消息時之後。

在這方面的任何幫助?我怎麼能做到這一點,當用戶輸入y時,調用語句被中止?

回答

2
pid = Popen(["internals/applog.sh",]) 

while True: 
    answer = raw_input("Press Y when you are done: ") 
    if answer == 'Y': 
     pid.kill() 
     break 
1

call()等待完成的命令,我想你想使用Popen代替:

from subprocess import Popen 

Popen(["internals/applog.sh"]) 
相關問題