Mengapa mode ekor lebih sedikit berhenti bekerja?


11

Menggunakan lessperintah di linux dalam mode ekor (perintah F atau kurang -f) secara konsisten berhenti bekerja pada mesin dan / atau file tertentu. Perubahan baru berhenti muncul.

Saya tahu saya sudah memperbaiki ini sebelumnya, dulu, tapi saya tidak ingat apa solusinya.

Ada ide?


Sudahkah Anda mencoba menggunakan strace untuk melihat apa yang (tidak) dilakukannya? Mungkin Anda akan melihat kesalahan.
wfaulk

FYI, ini tetap tidak terjawab karena file tersebut tidak sedang digulir / diputar / diciptakan kembali.
POHON

Jawaban:


12

Coba gunakan less --follow-name. Bahkan jika file tersebut memiliki nama yang sama, proses memperbarui mungkin melakukannya dengan cara yang mengubah inode file - jadi dari sudut pandang OS, itu adalah file baru setelah pembaruan.


+1 jawaban sempurna, itu sebabnya opsi ini diperkenalkan. Catatan yang --follow-namediperkenalkan dalam kurang v415 ( greenwoodsoftware.com/less/news.415.html ), dirilis 15 November 2007. Jadi instalasi Linux lama mungkin tidak memilikinya.
sleske

3

Apakah Anda melihat file log yang diputar oleh logrotate? Jika file yang kurang dilihat diubah namanya (mis. Dari log ke log.0 oleh logrotate), semakin sedikit yang akan menonton file itu, meskipun entri baru sedang ditulis ke file yang berbeda (dengan nama asli).


Jika ini masalahnya, coba tail --follow = name [filename] (yang menyebabkan tail membuka kembali file secara berkala jika namanya diganti). Lihat gnu.org/software/coreutils/manual/html_node/…
Randy Orrison

Tidak, lognya tidak berputar. Ini file yang sama.
POHON

1

mungkin Anda bisa mencobanya tail -f [filename]?


4
Dengan lebih sedikit, Anda dapat "menjeda ekor Anda" (dengan menggunakan Ctrl-c) untuk naik ke baris tertentu dan melanjutkan nanti (menggunakan F). Itu sebabnya dalam beberapa kasus lebih disukai daripada "tail -f".
dogbane

tail -f bekerja, tapi saya lebih suka bekerja dalam waktu kurang.
POHON

Saya melihat. Tidak tahu itu.
brandstaetter

0

Saya lakukan less +F --follow-name. --follow-namehanya memonitor file dengan nama yang sama tanpa menerima perubahan yang masuk dalam kasus saya (CentOS 7).

Sebenarnya saya membuat alias untuk ini:

Tambahkan baris ini di /etc/profile.d/alias.sh:

alias lf="less +F --follow-name"

Simpan, dan sumber untuk menggunakannya sekarang. . /etc/profile.d/alias.sh

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.