質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

4377閲覧

Pythonのsubprocess.popenの終わらせ方について

mdaigo

総合スコア9

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/03/24 03:32

Pythonでタイマーを作っています。
0になったらアラームをならせたいと思っています。

python

1 if self.left_time == 0: 2 p = Popen(['open', 'Alarm.mp3']) 3 4```で、このアラームが8秒くらいだとして、5秒で自動で終わらせたいときはどうすればいいのでしょうか? 5よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

subprocess.Popenで生成されるインスタンスは、kill()メソッドを持っています。その名の通り、プロセスを強制終了させるメソッドです。
参考:https://docs.python.org/ja/3/library/subprocess.html#subprocess.Popen.kill

例えば5秒で終わらせたい場合、以下のように5秒待機してからkillすることで実現できます。

py

1import time 2# time.sleep を使うのに必要 3 4if self.left_time == 0: 5 p = Popen(['open', 'Alarm.mp3']) 6 time.sleep(5) # ここで5秒待機 7 p.kill() # 強制終了

投稿2020/04/02 05:22

suomo

総合スコア82

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問