Pytania otagowane jako pipe

Potok Unix łączy deskryptory plików dwóch procesów. Potok jest tworzony za pomocą funkcji potoku POSIX zadeklarowanej w <unistd.h>. Powłoki umożliwiają tworzenie potoków między procesami za pomocą „|”.

2
Czy można sprawić, że operacje seek () na zwrócony potok o nazwie zakończą się powodzeniem?
Czy można to zrobić tak, aby programy próbujące wykonywać seek()operacje na nazwanym potoku powróciły pomyślnie (ale działały tak, jakby potok był pustym plikiem) zamiast „Nielegalne wyszukiwanie”? Mam ostatnie logowanie do mojego systemu przechowywane w bazie danych SQLite, nigdzie nie mam plików. Jednak istnieje kilka programów, które mają z tym problem. …
12 pipe  syslog 


2
Jak (i ​​dlaczego) używać stderr zarówno do czytania, jak i pisania?
Według tej odpowiedzi przez Schily , lessodczytuje polecenia nawigacyjne ze standardowego wyjścia błędów, jeśli nie jest w stanie otworzyć /dev/tty. To wydaje się zagadkowe, ponieważ nigdy nie widziałem, aby cokolwiek zapisywało w strumieniu stderr innego programu, i nie wiem, jak bym to osiągnął. W jakim celu stderr jest otwarty na …
12 pipe  stderr 

1
„Nieszczelne” rury w systemie Linux
Załóżmy, że masz potok podobny do następującego: $ a | b Jeśli bprzestanie przetwarzać standardowe wejście, po pewnym czasie rura się azapełni i zacznie pisać, aż do brozpoczęcia standardowego , zostanie zablokowane (dopóki albo nie zacznie ponownie przetwarzać, albo umrze). Gdybym chciał tego uniknąć, mogłem pokusić się o użycie większej …
12 linux  pipe  fifo  buffer 

2
Jak przechowywać potok (|) w zmiennej?
Chodzi o to, aby użyć go jako ... potoku w poleceniu. Na przykład: powiedzmy, że istnieje jakaś długa ścieżka, którą trzeba wielokrotnie powtarzać, a następnie potok i drugi program, tj. "directory1/directory2/direcotry3/file.dat | less -I " Chciałbym, aby ta część była przechowywana w zmiennej, aby można ją było użyć w następujący …
12 bash  pipe  variable 

4
netcat nie drukuje odpowiedzi
Próbuję wysłać polecenia do portu TCP przy użyciu polecenia netcati odpowiedzi potoku podczas uruchamiania netcati wpisywania polecenia, drukuje odpowiedź poprawnie, ale gdy przekazuję polecenie z potoku, wysyła polecenie poprawnie, ale nie drukuje odpowiedzi Działa to poprawnie: netcat localhost 9009 podczas gdy to po prostu wysyła polecenie, ale nie drukuje odpowiedzi: …
12 pipe  netcat 

5
Otwórz plik znaleziony za pomocą polecenia „znajdź”
Jest to prawdopodobnie łatwe, ale nie mogę tego rozgryźć i praktycznie nie można go przeszukiwać. W hierarchii folderów mam dokładnie jeden plik typu xyz. Chcę znaleźć ten plik i otworzyć go za pomocą polecenia terminalu. find . -name *.xyz Spowoduje to zwrócenie szukanego pliku. Jak teraz otworzyć to automatycznie, bez …
12 linux  terminal  find  pipe 

2
Dlaczego wydaje mi się, że tracę dane przy użyciu tej konstrukcji rurki bash?
Próbuję połączyć kilka takich programów (proszę zignorować wszelkie dodatkowe dołączenia, jest to ciężka praca w toku): pv -q -l -L 1 &lt; input.csv | ./repeat &lt;(nc "host" 1234) Gdzie źródło programu powtarzającego wygląda następująco: #include &lt;fcntl.h&gt; #include &lt;stdint.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; #include &lt;sys/epoll.h&gt; #include &lt;sys/stat.h&gt; #include &lt;sys/types.h&gt; …

6
Rura półsynchroniczna
Załóżmy, że mam następującą potok: a | b | c | d Jak mogę czekać na zakończenie c(lub b) w shlub bash? Oznacza to, że skrypt dmoże się uruchomić w dowolnym momencie (i nie trzeba na niego czekać), ale cdo prawidłowego działania wymaga pełnego wyjścia . Sprawa stosowanie jest difftooldla …
11 bash  shell  pipe  fifo 


2
Jak mogę sprawdzić, czy bufor potoku jest pełny?
Przesyłam dane wyjściowe z jednego programu do napisanego przeze mnie Perla. To długotrwały proces, czasem dni, więc chcę dowiedzieć się, gdzie są moje wąskie gardła i spróbować je otworzyć. Chcę wiedzieć, czy dane są przesyłane do mojego skryptu szybciej niż mój skrypt może to przetworzyć. W takim przypadku postaram się …
11 pipe 


1
zsh nie może wprowadzać danych do terminala podczas przesyłania strumieniowego stdin i stdout za pomocą zmiennej komendy, która ma wyjście tty
Informacja o systemie: macOS Sierra 10.12.6 zsh 5.4.2 (x86_64-apple-darwin16.7.0) GNU bash, version 4.4.12(1)-release (x86_64-apple-darwin16.3.0) Przewiń do PRZYKŁADÓW u dołu, jeśli chcesz po prostu zagłębić się w uproszczone przykłady, które stworzyłem. UWAGA: Nie jestem dużym zshużytkownikiem. Szukałem na fzfskróty klawiszowe dla bashi zsh. Zwróć uwagę, jak oba uruchamiają zmienne polecenie $(__fzfcmd). …
11 bash  zsh  pipe  tty 

4
Uzyskaj PID dowolnego polecenia w sekwencji poleceń w tle
Jeśli bashwykonam: cmd1 | cmd2 | ... | cmdi | ... | cmdn &amp; gdzie cmd{1..n}mogą nie być wyraźne, w jaki sposób uzyskać PID cmdi? Alternatywnie, jak mogę zasygnalizować cmdiproces? (Na przykład, wysłać go SIGUSR1?) pkill/ pgrep, pidofItd. Nie wygląda dobrych odpowiedzi, od innych instancji cmdimoże działa, w tym w …
11 bash  shell  pipe  job-control 

3
Uzyskiwanie PID polecenia wcześniej w Pipeline
Piszę skrypt bash inotifywaitdo monitorowania katalogu i rozpoczynania akcji po wykryciu zmian. Coś jak: inotifywait -m ... | while read f; do something; done Ponieważ inotifywaitskrypt nie zakończy się sam, skrypt nie zostanie zatrzymany. Tak więc moim planem było uzyskanie PID procesu inotifywait, zapisanie go do pliku i inny proces …
11 bash  pipe  pid 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.