Bash:监视TCP套接字活动

时间:2014-07-08 05:50:26

标签: bash

我使用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命令,因此无法在系统上写任何内容。

1 个答案:

答案 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开关所以..

值得一试。