我使用mpg123来读取mp3 webradio流(端口8000)。 有时,webradio服务器会停止,但mpg123不会退出。此外,如果我的机器上的网络出现故障,mpg123也不会退出。 我想使用cron启动的bash脚本监视mpg123活动。 像这样:
tcpdump -i eth0 port 8000 2>/dev/null | head | wc -l &
sleep 5
killall tcpdump
如果mpg123没有播放流,则结果为1.否则,它将是> 1。
如何将此结果转换为变量? 然后,如果流式传输失败,我可以重新启动mpg123。
请注意,我无法使用timeout命令,因此无法在系统上写任何内容。
答案 0 :(得分:1)
可能
isitthere=$(tcpdump -i eth0 port 8000 2>/dev/null | head | wc -l & sleep 5; killall tcpdump)
if [[ $isitthere -eq 1 ]]
then
SET FIRE TO EVERYTHING
fi
不确定它是否处理睡眠5.但是你不能在tcp转储上使用-ll开关所以..
值得一试。