![如何在 bash 中不从 omxplayer 获取默认输出](https://linux22.com/image/174660/%E5%A6%82%E4%BD%95%E5%9C%A8%20bash%20%E4%B8%AD%E4%B8%8D%E4%BB%8E%20omxplayer%20%E8%8E%B7%E5%8F%96%E9%BB%98%E8%AE%A4%E8%BE%93%E5%87%BA.png)
我正在使用shell,并且每次检测到运动时bash
都会使用 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+ 上命名的文件(如果重要的话)。提前致谢!
答案1
如果您不想查看命令的输出,只需将其标准错误和标准输出重定向到/dev/null
:
os.system("omxplayer beep-06.wav >/dev/null 2>&1")
这会将输出和错误发送到/dev/null
,但你永远不会看到它们。