Programların seek()
adlandırılmış bir kanalda işlem gerçekleştirmeye çalıştığında 'Yasadışı arama' yerine başarılı bir şekilde geri dönecek (ancak boru boş bir dosya gibi davranacak) şekilde yapmanın herhangi bir yolu var mı ?
Bir SQLite veritabanında saklanan sistemimdeki her son küçük günlük kaydım var, hiçbir yerde dosyam yok. Ancak bununla ilgili sorun yaşayan birkaç program vardır. 2 özel durum vardır;
- Bir program, sistem günlüğünün adlandırılmış yöneltme olarak oluşturduğu ve okuduğu bir günlük dosyasına yazmak ister. Program bir
seek()
nedenden dolayı bir performans göstermek istiyor ve başarısız oluyor. - Bir program (denyhosts veya fail2ban gibi), sistem günlüğünün adlandırılmış yöneltme olarak oluşturduğu ve yazdığı bir günlük dosyasından okumak ister. Program
seek()
üzerinde bir performans sergilemek istiyor ve başarısız oluyor.
İdeal olarak, bu adlandırılmış boru sadece boş bir dosya gibi davranmak istiyor. Bir günlük yazan bir programın yine de bir arama yapmak için neden olması için herhangi bir neden göremiyorum, sadece dosya eklemek ve yazmaya başlamak için dosyayı açması gerekir. Bir program okumasının neden aramak isteyeceğini anlayabiliyorum, böylece son konumundan devam edebilir ve böylece dosyanın boşmuş gibi davranmasını istiyorum (kesilmiş gibi).
Peki, bu şekilde davranmalarını sağlamak için adlandırılmış kanallara ayarlanabilecek bir seçenek var mı? Değilse, syslog-ng bu şekilde davranması için boruyu açtığında ayarlanabilecek bir mod var mı (kod değişiklikleri yapmaya açıkım)? Yoksa ben bir dere mi?