Bunu bir süredir işe almakla uğraşıyorum, bu yüzden boruların nasıl çalıştığına dair bir tür temel yanlış anlaşılmanın sıkıntılarımın temel nedeni olduğundan şüpheleniyorum.
Amacım, uzak bir ana bilgisayara TCP bağlantısı başlatmak netcat
ve dosya sisteminde iki adlandırılmış yönteme sahip olmak: Biri gelen verileri almak için süreçlerin okuyabileceği ve diğerlerinin giden veri olarak hizmet verebileceği süreçler. Şu anda aşağıdaki yapıyı kullanıyorum:
mkfifo in
mkfifo out
cat out | netcat foo.bar.org 4000 > in &
Buradan, diğer işlemlerin bu açık TCP bağlantısına okuma / yazma izni vermek istiyorum. Bu "sadece işe yaramalı" mı yoksa böyle bir yapının işe yaramamasının bir nedeni var mı?
Ne görünüyor anda gerçekleşmesi ben okuma olmasıdır out
sorun olmadan, ama ben yazarken in
ben çıktı ölü olarak bir kırık boru ve sonraki tüm iletişim görünür söz olsun. Düşünceler?
(İlgili: Başlangıçta kullandım:
netcat foo.bar.org 4000 < out > in &
ancak girişi beklemeyi engellediğini tespit etti. Bunu da merak ediyorum, ancak muhtemelen ayrı bir soruda ele alınmalıdır.)
write(stdout): Broken pipe
deout
boruya yazdıktan sonra (veya kısa bir süre sonra) alıyorum .