Pythonのsubprocess
モジュールを使用して、子プロセスを一定時間スリープさせる方法について説明します。
subprocessとは
Pythonのsubprocess
モジュールは、新しいプロセスを生成し、そのプロセスの入出力を扱うためのモジュールです。
スリープ処理の実装
以下に、子プロセスを一定時間スリープさせるコードの例を示します。
import subprocess
import time
cmd = """
while true
do
date
sleep 1s
done
"""
p = subprocess.Popen(cmd, shell=True)
time.sleep(5)
p.kill()
このコードでは、無限ループを行う子プロセスを生成しています。子プロセスは毎秒現在の日時を出力し、その後1秒間スリープします。親プロセスは子プロセスを5秒間実行した後、子プロセスを終了します。
注意点
subprocess.Popen
を使用するとき、shell=True
を指定するとシェルインジェクションに悪用される可能性があるため、コマンドを入力を受け付けるような処理では使わないようにしてください。
以上がPythonとsubprocessを使ったスリープ処理の基本的な使い方です。この情報がPythonのプログラミングに役立つことを願っています。