Tại sao chế độ đuôi ít ngừng hoạt động?


11

Sử dụng lesslệnh trên linux ở chế độ đuôi (lệnh F hoặc ít hơn -f) luôn ngừng hoạt động trên một số máy và / hoặc một số tệp nhất định. Thay đổi mới chỉ đơn giản là ngừng hiển thị.

Tôi biết tôi đã sửa cái này từ lâu rồi, nhưng tôi không nhớ giải pháp là gì.

Có ý kiến ​​gì không?


Bạn đã thử sử dụng strace để xem những gì nó (không) làm chưa? Có lẽ bạn sẽ thấy một lỗi.
wfaulk

FYI, điều này vẫn chưa được trả lời vì tập tin được đề cập không được cuộn / xoay / tái tạo.
TREE

Câu trả lời:


12

Hãy thử sử dụng less --follow-name. Ngay cả khi tệp có cùng tên, quá trình cập nhật tệp có thể được thực hiện theo cách thay đổi inode của tệp - vì vậy theo quan điểm của HĐH, đó là tệp mới sau khi cập nhật.


+1 câu trả lời hoàn hảo, đó là lý do tại sao tùy chọn này được giới thiệu. Lưu ý rằng --follow-nameđã được giới thiệu trong ít v415 ( greenwoodsoftware.com/less/news.415.html ), được phát hành ngày 15 tháng 11 năm 2007. Do đó, cài đặt Linux cũ có thể không có nó.
sleske

3

Bạn đang xem các tệp nhật ký được quay bằng logrotate? Nếu tệp ít xem đang được đổi tên (ví dụ: từ log sang log.0 bằng logrotate), ít hơn sẽ tiếp tục xem tệp đó, ngay cả khi các mục mới đang được ghi vào một tệp khác (với tên gốc).


Nếu đây là trường hợp, hãy thử tail --follow = name [tên tệp] (khiến cho đuôi mở lại định kỳ tệp trong trường hợp nó được đổi tên). Xem gnu.org/software/coreutils/manual/html_node/ Kẻ
Randy Orrison

Không, các bản ghi không được quay. Đó là cùng một tập tin.
TREE

1

có lẽ bạn có thể thử tail -f [filename]thay thế?


4
Với ít hơn, bạn có thể "tạm dừng đuôi" (bằng cách sử dụng Ctrl-c) để đi đến một dòng cụ thể và tiếp tục lại sau (sử dụng F). Đó là lý do tại sao trong một số trường hợp, nó được ưa thích hơn "tail -f".
dogbane

tail -f không hoạt động, nhưng tôi thích làm việc ít hơn.
TREE

Tôi hiểu rồi. Không biết rằng.
brandstaetter

0

Tôi làm less +F --follow-name.--follow-namechỉ giám sát tệp có cùng tên mà không nhận được các thay đổi đến trong trường hợp của tôi (CentOS 7).

Thật ra tôi tạo một bí danh cho việc này:

Thêm dòng này vào /etc/profile.d/alias.sh:

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

Lưu, và nguồn nó để sử dụng nó bây giờ. . /etc/profile.d/alias.sh

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.