Nazwany potok

Z Linux Wiki
(Przekierowano z FIFO)
Skocz do: nawigacja, szukaj

Nazwany potok (ang. named pipe, częściej spotykane jako kolejka FIFO[1]) – jeden z podstawowych sposobów komunikacji międzyprocesowej (IPC) w Linuksie i innych systemach uniksopodobnych. Jego nazwa nawiązuje do zwykłych potoków (przesyłania standardowego wyjścia jednego procesu do standardowego wejścia drugiego). W przeciwieństwie do zwykłych potoków, nazwane potoki są częścią systemu plików i znajdują się w określonym przez twórcę potoku miejscu na nim (w określonym katalogu). Ponadto, mogą one być używane przez większą liczbę procesów, niż 2, w tym samym czasie.

Tworzenie i usuwanie[edytuj]

FIFO tworzone są zazwyczaj przy użyciu komend mkfifo i mknod. W przypadku tego pierwszego utworzenie potoku ogranicza się do podania nazwy docelowej:

$ mkfifo <nazwa>

W przypadku mknod konieczne jest jeszcze podanie typu p, aby polecenie wiedziało, co należy utworzyć:

$ mknod <nazwa> p

Nazwane potoki, tak jak inne pliki, można usunąć przy użyciu polecenia rm:

$ rm <nazwa>

Przypisy[edytuj]

  1. First In, First Out (pierwszy wewnątrz, pierwszy na zewnątrz), określenie to nawiązuje do sposobu zarządzania danymi w kolejce.