嗨請原諒我,如果這看起來非常噁心我剛開始學習如何腳本。如何從管道獲取我的進程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。