fifo

명명된 파이프(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

bash 쉘을 명명된 파이프에 연결하는 방법은 무엇입니까?
fifo

bash 쉘을 명명된 파이프에 연결하는 방법은 무엇입니까?

볼륨을 공유하는 두 개의 컨테이너 X와 Y(실제로는 동일한 Kubernetes 포드에 있는 두 개의 컨테이너)가 있다고 가정해 보겠습니다. 이 볼륨에는 /foo컨테이너 Y의 bash 프로세스에 연결하려는 명명된 파이프가 있습니다 . 컨테이너 X가 컨테이너 Y에 데이터를 보낼 때 예를 들어 다음과 같은 방식으로 작동하기를 원합니다 ssh. 명령은 원격 bash 셸, 파이프 등에서 읽어야 하며 모두 투명하게 처리됩니다. 머신 Y에서 다음을 시도했습니다. bash -s <> /foo: XI 머...

Admin

명명된 파이프를 netcat의 데이터 소스로 사용
fifo

명명된 파이프를 netcat의 데이터 소스로 사용

명명된 파이프에서 데이터를 읽는 TCP 서버로 netcat을 사용하고 싶습니다. 이를 위해 나는 다음을 수행했습니다. 1단계. 파이프라인을 생성하여 소스 서버로 사용 mkfifo /tmp/all.pipe nc -k -l 8080 < /tmp/all.pipe 2단계. 지속적으로 데이터를 읽는 클라이언트를 만듭니다. while true; do sleep 1; echo "Check connection"; while IFS= read -r line; do print...

Admin

명명된 파이프에서 입력을 받은 후 백그라운드 Terraform 프로세스의 표준 출력을 리디렉션할 수 없습니다.
fifo

명명된 파이프에서 입력을 받은 후 백그라운드 Terraform 프로세스의 표준 출력을 리디렉션할 수 없습니다.

지형 파일이 있습니다. terraform { required_version = "1.3.5" } locals { a = "foo" b = "bar" } Bash 터미널에서는 다음을 수행할 수 있습니다. $ echo "local.a" | terraform console "foo" $ echo "local.b" | terraform console "bar" 이제 내가 하고 싶은 일은 terraform console백그라운드에서 실행되는 프로세스를 시작하고 이에 명령을 제공하는 것입니다....

Admin

Bash 스크립트에서 grep 사용 속도 향상
fifo

Bash 스크립트에서 grep 사용 속도 향상

나는 현재 내 프로그램 중 하나에서 대용량 로그 파일을 처리하는 bash 스크립트를 만들고 있습니다. 처음 시작했을 때 스크립트가 완성되는데 15초 정도 걸렸는데, 나쁘지 않은 수준인데 개선하고 싶습니다. 큐를 구현 mkfifo하고 구문 분석 시간을 6초로 줄였습니다. 스크립트의 파싱 속도를 향상시킬 수 있는 방법이 있는지 여러분께 묻고 싶습니다. 현재 스크립트 버전: #!/usr/bin/env bash # $1 is server log file # $2 is client logs file direc...

Admin