Şüphe duymadığım bir şey arıyorum: Komut satırından kullanmak için bir engelleme arabellek adı verilen pipe (fifo). Böyle bir şey var mı?
İşte kullanım durumu: Arka planda uzun süre çalışacak ve çok fazla çıktı yapacak bir işlemim olduğunu varsayalım stdout
. Çıktıyı gerçekten umursamıyorum ve saklamak istemiyorum (belki de yeterli alanım yok), ama periyodik olarak "bırak" ve ne yaptığını takip et, sonra tekrar bırak ve işini yapması için bırakın. Bu yüzden çıktısını bu teorik tamponlu, engellemeyen adlandırılmış boruya yönlendirmek ve daha sonra periyodik olarak ona dokunmak istiyorum.
Yani temelde ( 10M
tampon boyutu olmak) böyle başlamak istiyorum :
mkmagicfifo magicfifo 10M
spewingprocess > magicfifo &
... ve neler olup bittiğini görmek için düzenli olarak uğrayın ...
tail -f magicfifo
... olmadan magicfifo
tüm çıktıyı (yani normal bir dosya) saklanması ve olmadan o doldurur ve (böylece, oldukça normal bir adlandırılmış yöneltme) aday değilken o püsküren sürecini engelleme.
Çözümleri içeren tail
veya yapamayacağımı düşünmüyorum prune
(iyi, ilgili bir geçici çözümü düşünebilirim tail
), çünkü tail
yine de tüm verileri bir yerde saklamamı gerektirir (eğer onu bırakmak ve bakmaktan vazgeçmek istersem), ve prune
dosyayı yeniden yazmak zorunda, muhtemelen (bunu denemedim / kanıtlamamıştım) tüm çıktıyı üreten sürecin yeniden yönlendirmesini kırarak.
Bunu yapmak için bazı yardımcı programı yazabilirim, ama * nix dosyaları ve boruları ve bu kadar çok güzel yönleri vardır, ben sadece yardım edemem ama bunun var olduğunu düşünüyorum ve sadece bunu bilmiyorum.
Yani: Böyle bir şey var mı, eğer öyleyse nedir?