Re: [LINUX:1923] Re: sorular

Onur Tolga SEHITOGLU (onur@lcsl.metu.edu.tr)
Mon, 11 Nov 1996 11:14:39 +0200 (EET)


>
> On Sun, 10 Nov 1996, Mehmet Can Ertogan wrote:
>
> > >
> > > p FIFO anlamIna geliyor..
> > kkk
> > fifo nedir?
> First In First Out, bir digeri ise LIFO -> Last In First Out ...
Yani Unix'de named pipe. Standard bir pipe bildiginiz gibi
command1 | command2 | command3
seklinde calisir ve 1 'in ciktisi 2'ye , 2'nin ciktisi 3'e girdi olarak
verilir. FIFO dosyalar da filesystem uzerinde ismi olan pipe'lardir.
Birden fazla pipe'a gereksinim duydugunuzda (ornegin bir process iki
cesit cikti uretip iki farkli processe yonlendirmek durumunda)
mkfifo filename
yaparak named pipe dosyasini yaratip kullanabilirsiniz. Bu dosyaya (dosya
gercekte disk uzeinde yer kaplamiyor, kernel bufferlarinda hallediliyor
olsa gerek) yapilan yazma islemleri dosyanin sonuna yapilirken, okuma
islemleri de ayni anda dosyanin basindan yapiliyor.
Aklima pek ornek gelmiyor ama su gereksiz seyi deneyebilirsiniz:
mkfifo boru
tr a-z A-Z <boru & ls -l /bin olmayandosya 2>boru

'tr a-z A-Z <boru' kismi arka planda boru adli pipe'dan aldigi inputu
buyuk harfe cevirip stdout'a yaziyor
'ls -l /bin olmayandosya 2>boru' kismi da hatalari "boru"ya normal ciktiyi
stdout'a yaziyor. Benzer bir kalipta kullanimi olabilir.

Sevgiler.

-Onur