1

特定のジョブを実行するシェルスクリプトを背後で実行したいと同時に、ユーザーの入力がジョブを終了するのを待ちます。どうすればこれを達成できますか?これが私のコード例です:

from subprocess import call

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

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

上記のコードは最初に call ステートメントを実行し、アプリの log.sh が終了した後にのみ、次のメッセージが表示されます。

これで何か助けはありますか?ユーザーがyを入力すると、callステートメントが中止されるようにするにはどうすればよいですか?

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 に答える