Próbuję napisać do nazwanego potoku, wykonanego przy użyciu mkfifo. Ale kiedy uruchomię polecenie (ex) ls > myNamedPipe
, nie mogę już wprowadzać poleceń do bash. Wciąż mogę pisać postacie i to prawie wszystko.Nie mogę napisać do nazwanego potoku
11
A
Odpowiedz
18
Nazwana rura pozostaje otwarta, dopóki nie przeczyta się jej z innego miejsca. Ma to na celu umożliwienie komunikacji między różnymi procesami.
Spróbuj:
mkfifo fifo
echo "foo" > fifo
Następnie otworzyć kolejny terminal i wpisz:
cat fifo
Jeśli powróci do was pierwszy terminal, można zauważyć, że można teraz wprowadzić inne polecenia.
Zobacz również co happends z rewersu:
# terminal 1
cat fifo
# terminal 2
echo "foo" > fifo
# and now you can see "foo" on terminal 1
Jeśli chcesz, terminal nie do „powiesić na” kiedy próbuje napisać coś do FIFO, dołączyć do FIFO deskryptor pliku:
mkfifo fifo
exec 3<> fifo
echo "foo" > fifo
echo "bar" > fifo
Powiązane problemy
- 1. Czy można odczytać kdb z nazwanego potoku?
- 2. Jak napisać do nazwanego deskryptora pliku w Bash?
- 3. Czy można zmienić rozmiar nazwanego potoku w systemie Linux?
- 4. mkfifo() error ---> "Błąd podczas tworzenia nazwanego potoku .: Plik istnieje"
- 5. Jak odczytać linię potoku FIFO/nazwanego po linii z aplikacji C++/Qt Linux?
- 6. Czy istnieje sposób utworzenia nazwanego potoku z elementu AppContainer BHO na IE11?
- 7. Czy jest możliwe otworzenie nazwanego potoku za pomocą wiersza poleceń w oknach?
- 8. Logowanie do nie blokującej nazwanej potoku?
- 9. Jak mogę napisać wyrażenie regularne, które pasuje do nie chciwego?
- 10. Nie mogę napisać do HKEY_CURRENT_USER klucz rejestru w C#
- 11. Jak mogę napisać MemoryStream do byte []
- 12. Jak mogę napisać Omnikuth RSpec do logowania?
- 13. Czy mogę napisać kursywę do powłoki Pythona?
- 14. Usługa systemu Windows nie widziała nazwanego semafora
- 15. Używanie lxml do parsowania nazwanego HTML?
- 16. Dodać ścieżkę do folderu potoku?
- 17. Biblioteka C++ do budowania potoku wykonawczego
- 18. Bezpłatne oznaczenie korpusu do rozpoznawania nazwanego obiektu
- 19. Funkcje obiektu nazwanego obiektu
- 20. ASP .NET vNext MVC nie przekazuje do następnego w potoku?
- 21. Ionic-3 nie można znaleźć potoku
- 22. mogę napisać pętlę dla CSS
- 23. Wszystkie instancje wyjątku dla nazwanego tworzenia rur
- 24. Dołącz do zmiennej tablicowej z polecenia potoku
- 25. Podraport nazwanego obiektu Sub-Subgraph
- 26. Jak mogę napisać do Logger'a Railsa w moim klejnocie?
- 27. Jak mogę napisać wtyczkę do VS2010 za pomocą MEF?
- 28. Dlaczego nie mogę napisać [1,2,3] .reduce (Math.max) w JavaScript?
- 29. W języku Java, dlaczego nie mogę napisać i ++++ lub (i ++) ++?
- 30. reszta api do uruchomienia potoku/zlecenia
DZIĘKUJEMY, że ma to sens! wielkie dzięki! – tay10r
Dzięki - działa to świetnie! Czy możesz mi wyjaśnić dlaczego? Nie bardzo rozumiem, w jaki sposób linia 'exec 3 <> fifo' naprawia pewne rzeczy. – Joost
Dołączenie fifo do deskryptora pliku powoduje, że powłoka buforuje dane zapisane do fifo. Bez tego, każdy pisze do bloków fifo, dopóki coś nie przeczyta tego, co jest napisane. Z deskryptorem pliku "foo" i "bar" są buforowane przez powłokę, a wszystko, co czyta z tego deskryptora pliku, może je później odczytać. – chepner