fifo

fifo를 Python의 stdin으로 리디렉션
fifo

fifo를 Python의 stdin으로 리디렉션

$ mkfifo mypipe $ echo "hello redirection" > mypipe $ cat < mypipe hello redirection Python을 사용하여 위의 작업을 수행하려고 할 때 문제가 있습니다. # pyecho.py with open("/dev/stdin", "r") as f: print(f.read()) $ python3 pyecho.py < mypipe 파이프에 두 번 쓰지 않으면 종료되지 않습니다. $ echo "hello redire...

Admin

sed/head 및 명명된 파이프/FIFO의 이상한 동작(두 번의 쓰기 필요)
fifo

sed/head 및 명명된 파이프/FIFO의 이상한 동작(두 번의 쓰기 필요)

mkfifo쉘에서 fifo를 생성하고 rw 모드로 열었습니다 exec 3<>fifo. 다른 쉘에서 실행 sed 1q <&3하고 fifo에 한 줄을 쓰면 sed는 fifo에 다른 줄을 쓸 때까지 해당 줄을 인쇄하지 않습니다. 왜 이런 일이 발생합니까? (이런 일은 일어나지 않을 거예요 head -n1) ...

Admin

rsyslogd v3.xx가 명명된 파이프 대상에 대한 쓰기 연결을 예기치 않게 닫았습니다.
fifo

rsyslogd v3.xx가 명명된 파이프 대상에 대한 쓰기 연결을 예기치 않게 닫았습니다.

특정 로그 메시지를 명명된 파이프로 전달하도록 rsyslog를 구성했습니다 /tmp/logger.pipe. 그런 다음 명명된 파이프에서 데이터를 읽는 별도의 프로세스가 있습니다. 관련 부품은 다음에서 제공됩니다./etc/rsyslog.conf # Remote Logging (silly conditional rule needed for specific logging scenario) $template RFC5424Format,"<%PRI%>1 %timegenerated:1:10:date-rf...

Admin

rsyslog가 명명된 파이프를 채우면 무엇을 합니까?
fifo

rsyslog가 명명된 파이프를 채우면 무엇을 합니까?

rsyslog의 출력을 모니터링하고 처리하도록 설계된 C 애플리케이션을 개발 중입니다. 내 연구에 따르면 이를 달성하는 한 가지 방법은 명명된 파이프를 생성한 다음 해당 명명된 파이프를 가리키는 새로운 syslog 대상을 생성하는 것입니다. 내 C 응용 프로그램은 이 명명된 파이프를 열고 읽습니다. 그러나 내 C 응용 프로그램이 명명된 파이프에서 충분히 빠르게 읽지 못해 syslog가 FIFO 버퍼를 가득 채운다고 가정해 보겠습니다. syslog는 정확히 무엇을 합니까? 내부 버퍼를 생성하고 유지합니...

Admin

명명된 파이프(mkfifo): 소비자가 쓰기 측에 쓰지 않고 읽기 측(소비자)의 연결이 끊어졌음을 Macos에서 어떻게 감지합니까?
fifo

명명된 파이프(mkfifo): 소비자가 쓰기 측에 쓰지 않고 읽기 측(소비자)의 연결이 끊어졌음을 Macos에서 어떻게 감지합니까?

노트:이것은 대략생산자대신 소비자 연결 끊김 감지소비자생산자의 연결이 끊어진 것으로 감지되었습니다(EOF라고도 함). 생산자는 오랫동안 데이터를 쓰지 않을 수 있지만 소비자의 연결이 끊어졌음을 빨리 알리고 싶습니다. 일반적인 이벤트 순서: 소비자(Wireshark)는 명명된 파이프를 생성하고( 사용하여 mkfifo) 읽기 끝을 엽니다. 생산자(소위 Wireshark 외부 캡처 프로그램, extcap이라고도 함)가 시작되고 명명된 파이프의 이름/경로를 전달합니다. 생산자는 쓰기 측을 O_WRONLY로...

Admin

nc와 fifo의 이상하고 일관되지 않은 출력
fifo

nc와 fifo의 이상하고 일관되지 않은 출력

나는 다음과 같은 정확한 코드를 가지고 있습니다. #!/bin/bash gtimeout(){ if type -f gtimeout &> /dev/null; then command gtimeout "$@" else timeout "$@" fi } export -f gtimeout; on_first_match(){ local pattern="$1" # The pattern to search for while IFS= read -r line; do ...

Admin

"H 키" 및 "위쪽 화살표 키"와 같은 제어 문자를 시뮬레이션합니다.
fifo

"H 키" 및 "위쪽 화살표 키"와 같은 제어 문자를 시뮬레이션합니다.

Debian 운영 체제가 설치된 장치 1이 있습니다. 다른 장치(예: 장치 2)를 통해 직렬 콘솔에 액세스합니다. 장치 1에서 다른 OS를 제거하고 설치하는 스크립트가 장치 2에 있습니다. 장치 1은 설치/제거 중에 "v", "up 키" 등과 같은 키를 눌러야 합니다. fifo(파일 입력 파일 출력) 파일을 통해 프로그램에 입력을 제공하여 전체 작업을 자동화했습니다. 많은 연구 끝에 다음 명령을 사용하여 위쪽 화살표 키를 시뮬레이션하는 방법을 찾았습니다. printf "\u001b[A" > in...

Admin

연속 폴링 명명된(FIFO) 파이프
fifo

연속 폴링 명명된(FIFO) 파이프

실행 중인 셸 스크립트의 활동을 모니터링하기 위해 명명된 파이프를 사용하려고 합니다. 쉘 스크립트는 처리를 "시작"했다는 것을 파이프에 기록합니다. 처리가 완료되면 파이프에 "Completed"라고 기록됩니다. 두 번째 스크립트는 모니터링을 수행하고 두 개의 메시지를 읽습니다. 두 번째 스크립트가 5분 이내에 "완료" 메시지를 받지 못하면 경고가 전송됩니다. 그래서 두 프로세스 간 통신을 위해 명명된 파이프를 사용하는 방법에 대한 Linux Journal의 코드를 찾았습니다. 파이프에서 한 번에 두 ...

Admin

bash의 fifo 및 터미널에서 동시 입력
fifo

bash의 fifo 및 터미널에서 동시 입력

스크립트 내에서 ffmpeg를 실행하고 있는데 실행 중인 터미널에서 "q"를 누르거나(기본 동작) fifo 파일에 "q"를 입력하여 ffmpeg를 종료할 수 있기를 원합니다. 어느 프로그램을 선택하든 상관없습니다. 달리다. ffmpeg </fifo_filefifo 파일을 통해 종료할 수 있지만 이제 키보드 입력을 허용하지 않습니다. 개념적으로는 입력이 fifo를 통과한 다음 ffmpeg의 표준 입력으로 이동하도록 키보드에서 fifo로 입력을 리디렉션하는 것은 매우 간단한 문제라고 생각합니다. 그...

Admin

UDP를 통해 네트워크를 통해 (alsa) 오디오 보내기
fifo

UDP를 통해 네트워크를 통해 (alsa) 오디오 보내기

내가 이해한 바에 따르면 이것은 "mic_rec"이라는 명명된 파이프에 wav 형식으로 300초 동안 모노를 녹음합니다. rec arecord -D hw:4,0 -d 300 -f cd -t wav -c 1 mic_rec 이렇게 하면 명명된 파이프 "mic_rec"에서 발견된 모든 항목이 tcp를 통해 포트 8111로 전송됩니다. cat mic_rec |netcat -l -p 8111 UDP 프로토콜 cat mic_rec |netcat -u -l -p 8111 TCP를 사용하여 수신(유효): ne...

Admin

sudo 하위 프로세스가 원래 사용자로 실행되는 Zenity를 업데이트하도록 허용
fifo

sudo 하위 프로세스가 원래 사용자로 실행되는 Zenity를 업데이트하도록 허용

사용자 "직원"이 실행하는 스크립트zenity --progress. 그런 다음 호출합니다 sudo -u adminBod adminScript(그리고 STDOUT 및 STDERR은 로거에 수집됩니다). adminScript업데이트를 제공하기 위해 실행 중인 프로그램이 adminBodzenity의 STDIN에 쓸 수 있기를 바랍니다 . 1번 시도 나는 채널 3을 zenity의 STDIN에 연결한 다음 sudo 프로세스에서 작성할 수 있다고 생각했습니다. #!/bin/bash # Main script,...

Admin

로그 문을 작성하기 전에 필터링하세요.
fifo

로그 문을 작성하기 전에 필터링하세요.

관심 있는 정보를 얻기 위해 상세 모드에서 실행해야 하는 애플리케이션이 있습니다. 이로 인해 내 요구 사항에 대한 관심도가 1% 미만인 거대한 로그 파일이 생성됩니다. 나는 관심 있는 진술만 기록할 수 있는 방법을 원합니다. 이 명령은 로그를 기록할 로그 파일 이름을 허용합니다. 시스템 서비스로 실행됩니다. 로그 쓰기 문이 디스크에 기록되기 전에 어떻게 가로채고 선택할 수 있나요? fifo에 파일 이름을 지정하고 Python 스크립트를 통해 읽어 보았지만 너무 많은 문제가 발생했습니다. ...

Admin

FIFO를 사용하여 프로세스를 실행할 수 있는 권한 부여
fifo

FIFO를 사용하여 프로세스를 실행할 수 있는 권한 부여

자체 스케줄러 정책이 으로 설정된 프로그램을 실행하려고 하는데 sched_FIFO다음과 같이 잘못 표시됩니다.허용되지 않는 작업. 실행하면 sudo성공하지만 필요한 권한으로만 권한을 줄이고 싶습니다. 권한 설정이 필요한 이 프로그램을 일반 사용자가 실행할 수 있도록 하려면 어떻게 해야 합니까 sched_FIFO? ...

Admin