我想在后面运行一个shell脚本,它执行一项特定的工作,同时我会等待用户的输入来结束这项工作。我怎样才能做到这一点?这是我的示例代码:
from subprocess import call
cmd = "internals/applog.sh "
call([cmd])
raw_input("Press Y when you are done: ")
上面的代码首先执行call语句,并且只有在app log.sh结束后才会出现以下消息。
对此有何帮助?当用户输入y时,我该怎么做才能中止调用语句?
答案 0 :(得分:2)
pid = Popen(["internals/applog.sh",])
while True:
answer = raw_input("Press Y when you are done: ")
if answer == 'Y':
pid.kill()
break
答案 1 :(得分:1)
call()
等待命令完成,我认为你想要使用Popen
代替:
from subprocess import Popen
Popen(["internals/applog.sh"])