Bash

如何在 bash 中不從 omxplayer 獲取預設輸出

  • June 6, 2020

我正在使用bashshell,並且我正在使用 Python 的 os.system() 來播放 wav 文件,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!")?我正在使用nohup python3 alarm.py > alarm.out 2>&1它是因為它在夜間執行,並且我通過 SSH 執行此操作,並將輸出重定向到alarm.out執行 Raspbian 的 Raspberry Pi 3 B+ 上命名的文件(如果這很重要)。提前致謝!

如果您不想看到命令的輸出,只需將其標準錯誤和標準輸出重定向到/dev/null

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

這會將輸出和錯誤發送到/dev/null,您將永遠看不到它們。

引用自:https://unix.stackexchange.com/questions/591287