Bashでomxplayerのデフォルト出力を取得しない方法

Bashでomxplayerのデフォルト出力を取得しない方法

私はシェルを使用し、Pythonのos.system()を使用してモーションが検出されるたびにbashwavファイルを再生しています。omxplayer動きが検出されるたびに印刷できましたが、"Beep"omxplayerには実行されるたびにデフォルトの出力があり、ログが詰まります。

Audio codec pcm_s16le channels 1 samplerate 44100 bitspersample 16
Subtitle count: 0, state: off, index: 1, delay: 0
have a nice day ;)

pr=サウンドを配置するPythonコードは次のとおりです。

import os
import time
from gpiozero import MotionSensor
while True:
    if MotionSensor(4).motion_detected:
        os.system("omxplayer beep-06.wav")
        print("Beep!")
        time.sleep(1)

omxplayerにこのメッセージを出力せずに出力するにはどうすればよいですかprint("Beep!")?一晩実行されるため、これを使用しており、SSHを介してこれを行い、Raspbianを実行しているRaspberry Pi 3 B +(重要な場合)の名前付きファイルに出力をnohup python3 alarm.py > alarm.out 2>&1リダイレクトします。alarm.outよろしくお願いします!

ベストアンサー1

コマンドの出力を表示したくない場合は、標準エラーと標準出力を次にリダイレクトするだけです/dev/null

    os.system("omxplayer beep-06.wav >/dev/null 2>&1")

これにより、出力とエラーが送信されますが、/dev/nullユーザーはそれを見ることができません。

おすすめ記事