Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2023-12-10 12:17:47

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

FIFO w trybie nieblokującym

Czy ktoś może orientuje się jak zrobić urządzenie FIFO w trybie nieblokującym? Generalnie to jak się tworzy urządzenie FIFO (przez mkfifo), to jak się uruchomi jakiś proces i wyśle np. wyście takiego procesu do tego urządzenia FIFO, to proces się zatrzymuje, do momentu, aż coś odczyta to urządzenie FIFO. Mi by zależało na tym, by ten proces kontynuował swoje działanie nawet jak nic nie odczytuje jeszcze tego urządzenia FIFO. W przypadku systemd można stworzyć socket FIFO i będzie działać ale jak to ogarnąć gdy nie ma się do dyspozycji systemd?

Znalazłem niby coś takiego, czyli:

Kod:

$ mkfifo /tmp/mylog
$ exec 4<>/tmp/mylog
$ myprogram 2>&1 | tee >&4
$ cat /tmp/mylog # on demend

Z tym, że to jest wersja dla bash, i gdy wrzuciłem do /etc/X11/Xsession, by przekierować jego logi do tego urządzenia FIFO, to sesja mi nie odpala się, tj:

Kod:

ERRFILE=/dev/log-xsession
#exec >>"$ERRFILE" 2>&1
exec 4<>"$ERRFILE" 2>&1 | tee >&4

Chyba, że ten <> nie działa pod dash i trzeba to inaczej zapisać? Jakieś pomysły bo góglanie za "alternatywa dla bash <>" mija się z celem... xD

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)