1

我想在后面运行一个 shell 脚本,它执行一项特定的工作,同时我将等待用户的输入来结束这项工作。我怎样才能做到这一点?这是我的示例代码:

from subprocess import call

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

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

上面的代码首先执行 call 语句,只有在 app log.sh 结束后才会出现以下消息。

这有什么帮助吗?我怎样才能做到,当用户输入 y 时,调用语句被中止?

4

2 回答 2

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

while True:
    answer = raw_input("Press Y when you are done: ")
    if answer == 'Y':
        pid.kill()
        break
于 2013-02-27T11:48:01.507 回答
1

call()等待命令完成,我想你想Popen改用:

from subprocess import Popen

Popen(["internals/applog.sh"])
于 2013-02-27T11:46:07.467 回答