Mkfifo

Ubuntu Türkiye Wiki sitesinden
Gezinti kısmına atla Arama kısmına atla

Geleneksel adsız, kabuk iletişim hattı yerine, isimli iletişim hattı olan mkfifo, dosya sistemlerinde kullanılır. Bir içsel iletişim yöntemidir. mkfifo() veya mknod() kullanılarak oluşturulur ve iki farklı işlem bu isimle hatta erişebilir. Biri okuyucu olarak onu açarken, diğeri de yazar. Örneğin, biri hat oluşturup, hattaki şeyleri sıkıştırmak için gzip kurar:

 mkfifo my_pipe
gzip -9 -c < my_pipe > out.gz

Farklı bir işlem kabuğunda, her biri birbirinden bağımsız olarak veriyi sıkıştırmak için gönderir:

 cat file > my_pipe

İsimli hat herhangi bir dosyadan şöyle silinebilir:

 rm my_pipe

Geçici dosya kullanımına gerek kalmaksızın bir uygulamadan diğerine taşınması için isimli bir hat kullanılabilir. Örneğin şöyle bir isimli hat içindeki gzip çıktısını hatlandırabilirsin:

 
mkfifo --mode=0666 /tmp/namedPipe
 gzip -d file.gz > /tmp/namedPipe 

Sonra sıkıştırılmamış veriyi bir MySQL şöyledir:

LOAD DATA INFILE '/tmp/namedPipe' INTO TABLE tableName;

Bu isimli hat olmaksızın biri MySQL içine yüklemeden önce, file.gz nin tüm sıkıştırılmamış sürümünü yazmalıdır. Geçici dosyaya yazma, hem zaman israfı hem de daha fazla G/Ç (Giriş/Çıkış) ile sabit diskte daha fazla yer kaplamaya sebep olur.

İlgili maddeler

Kaynakça