2013-02-27 71 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"])