I am trying to get the last line of a file. The file, ff.log, is getting new data every second while ffmpeg is working. The log file looks like this:
frame= 20 fps= 0 q=7.7 size= 40kB time=1.24 bitrate= 266.1kbits/s
frame= 30 fps= 28 q=6.6 size= 51kB time=1.90 bitrate= 218.4kbits/s
frame= 40 fps= 24 q=6.6 size= 61kB time=2.60 bitrate= 191.4kbits/s
frame= 47 fps= 20 q=6.8 size= 65kB time=3.08 bitrate= 173.8kbits/s
frame= 64 fps= 22 q=7.0 size= 84kB time=4.20 bitrate= 163.8kbits/s
(keeps adding new lines every second or faster)
Ben denedim
$line = `tail -n 1 $file`;
Ben bir "php tail script" ile fseek () kullanarak çalıştı.
Hem bazı garip davranış sonuçlandı.
Ben komut satırından benim komut koştu ve outputted:
frame= XX fps= XX q=XX size= XX time=XX bitrate= XXkbits/s
Bu son satırından değer kadar XX birkaç saniye boyunca artmaya devam nerede.
Şimdi, benim php komut dosyası, ben var
echo "--$last_line--";
Onu çalıştırdığınızda, çıktı, birkaç saniye boyunca artan sayıları ile sadece günlük hattıdır. Bu sonuna ulaştığında zaman çıktı
- Ame = 7119 fps = 9 q = 13.8 boy = 4809kB süresi = 474,50 bit = 83.0kbits / s
Not ilk "-" $ last_line ve diğer çarpıştı "-" yok.
Bu garip davranış için açıklama nedir?