file-descriptor

    0

    3답변

    내 프로그램의 목표는 서로 파이프를 읽고 쓰는 것을 의사 소통하는 두 개의 파이프와 두 개의 프로세스를 만드는 것입니다. 프로세스 P1은 배관 (C1)로부터 판독하고 프로세스 P2가 파이프 (C2)로부터 판독하고, 파이프로부터 판독 수가 BIG_INT_STOP 미만까지 파이프 C1 에 기록 파이프 C2 쓰는 두 프로세스는 파이프의 수를 계속 증가시킵니다.

    0

    1답변

    다음 코드를 실행할 때 "grep : (표준 입력) : 잘못된 파일 설명자"가 표시됩니다. 왜 그런가? 프로그램이 홈 디렉토리를 출력하기로되어 있습니다. 감사! else if(close(fd[0] == -1)) ... else if(close(fd[1]==-1)) 그것은해야한다 : #include <errno.h> #include <stdio.h>

    0

    1답변

    I했습니다 단지 man 페이지의 소수 읽어 DUP, dup2에, fcntl을, pread/PWRITE, mmap에 등 현재 내가 mmap에 사용하고,하지만 난에 있기 때문에 그것은 세계에서 가장 좋은 것은 아니다 파일 오프셋 및 버퍼 길이를 직접 관리하고 기본적으로 사용자 공간에서 읽기/쓰기를 다시 구현합니다. 내가 수집 한 것과 : 자신의 오프셋 및 플래

    0

    1답변

    질문이 중복으로 표시 될 수 있지만 끝까지 읽으십시오. 임베디드 리눅스에서 실행되는 응용 프로그램을 가지고 있으며 응용 프로그램에서 모든 로그를 캡처하고 싶습니다. 나는 with 파일 설명자를 stdout에 대해서는 1, stderr에 대해서는 2로 시도했다. stderr 로그를 캡처 할 수있었습니다. printf 문을 사용하여 로그를 캡처하고 싶습니다.

    0

    1답변

    상황이다 : POSIX 환경에서, 내가 O_NONBLOCK 플래그가 설정 open(...)를 통해 장치를 개방하는 시리얼 포트 라이브러리를 사용합니다. open 호출 상태에 대한 매뉴얼 페이지 인 open은이 플래그로 차단하지 않습니다. 문제점 : 포트를 연 직후 직렬 포트의 입력 버퍼를 플러시해야합니다. 그럼에도 불구하고 플러시 작업을 수행 할 때 직렬

    1

    1답변

    리눅스에서 어떤 스레드가 먼저 fd를 받았지만 지금은 행운을 찾지 못했습니다. /proc/pid/task/ 은 각 스레드에서 사용할 수있는 fd를 보여 주므로 전체 프로세스 공간에서 디스크립터를 사용할 수 있으므로 의미가 있습니다. lsof 은 물론이 유스 케이스의 도움이되지 않습니다. 프로그램이 매우 복잡하며 strace 또는 gdb도 도움이되지

    0

    2답변

    2 개의 스크립트가 있습니다. 이 입력을 얻고있는 스크립트 나 스크립트 b.sh에서 확인할 수있는 방법이 $ cat a.sh #!/bin/bash echo output | ./b.sh ### piping into STDIN of b.sh script $ $ cat b.sh #!/bin/bash grep output ### reading from

    -1

    1답변

    오픈 소켓 파일 디스크립터를 소유 한 프로세스의 PID/PID를 반환하는 Linux API가 있습니까? 현재로서는 내가 볼 수있는 유일한 방법은 모든 PID에 대해 /proc/PID/fd을 걷고 fd에 의해 inode에 의해 소켓을 파생시키는 것입니다. 내가 예를 들어,이 작업을 수행하는 어떤 콜/API를 보지 못했다 그러나 : int get_pids_fo

    1

    1답변

    상태를 변경할 때마다 GPIO 값을 읽으려고합니다. 내가 로 /sys/class/gpio/gpio499/edge을 설정 한 /sys/class/gpio/gpio499/value 모두 내가 한 별도의 스레드에서 여론 조사 명령을 사용하여 값의 변화를 모니터링하기 위해 노력하고 있습니다. 내가 POLLIN 로 이벤트를 설정하면 내가 직면하고 문제가 void

    0

    1답변

    직렬 프로토콜 스택의 경우 serial에서 읽고 쓰는 스레드와 쓰기 전용 스레드를 구현할 것입니다. 한번 열고 두 스레드에서 파일 기술자를 사용하는 것이 안전한지 이 궁금하거나이 같은 두 번 열고하는 것이 좋습니다 : tx_fd = open("/dev/ttyS0", O_WRONLY); rx_fd = open("/dev/ttyS0", O_RDONLY);