嗨请原谅我,如果这看起来非常恶心我刚开始学习如何脚本。如何从管道获取我的进程ID?
我想在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。