嗨,如果这看起来很恶心,请原谅我刚刚开始学习如何编写脚本。
无论发生什么,我都想在 65 秒后杀死 vlc,但如果它在那段时间与源断开连接,我想杀死它并使用新的输出文件名重新启动它。
#!/bin/bash
function record {
DATE=$(date "+%d%m%y%H%M%S%N");
cvlc -vR rtsp://192.168.1.233 \
--sout=file/mov:/var/www/continuous/%1/$DATE.mov 2>& 1 |
while read event;
do
PID=$!
lastevent=${event#*]}
if [ "$lastevent" == "live555 demux warning: no data received in 10s, eof ?" ];
then
kill $PID
record
fi
done
}
record &
sleep 65
kill $PID
麻烦是$!没有得到正确的pid,所以我不能杀死它。我需要得到vlc的pid。