file-descriptor

    2

    1답변

    내가 C. 을위한 웹 소켓 라이브러리 클라이언트 libwebsockets 코딩하고 그리고 난 다른 이벤트를 처리하는 동안 내가 웹 소켓을 처리 할 수 ​​있도록 select()와 웹 소켓 파일 디스크립터를 사용하고 싶습니다. 그리고 나서 websocket에 이벤트가있는 경우에만 libwebsocket_service();을 호출하여 websocket 이벤트를

    1

    1답변

    닫기 지금은 내가 그것을 닫을 것인지 exec {gui_outfd}<>$gui_outpipe 같은 이름의 파일 기술자를 생성 잘못된? 편집 내 스크립트에 줄 330-357 : run_gui & gui_pid=$! run_ai1 & ai1_pid=$! exec {gui_outfd}>&- while true; do echo "Started t

    0

    1답변

    bash의 1, 2, 3 등의 파일에 여러 디스크립터를 생성하려고합니다. 예를 들어, exec 9>abc/1은 정상적으로 작동하지만 for 루프에서 설명자를 만들려고하면 exec $[$i+8]>abc/$i과 같이 작동하지 않습니다. 여러 가지 방법을 시도했지만 exec 변수를 허용하지 않는 것으로 보입니다. 내가 원하는 것을 할 수있는 방법이 있습니까? 편

    2

    2답변

    나는 주어진 스크립트에서 내가 추론하고있는 것을 검증하기위한 명확한 단서를 찾을 수 없었다. 그래서 file.txt는 파일 설명자 3에 의해 열린 파일이고 타임 스탬프를 기록하는 스크립트로 끊임없이 새 줄을 추가합니다. 새로운 라인이 파일에 추가 될 때마다 다음과 같은 부분이 while 루프를 만드는가? exec 3 < /path/file.txt whil

    3

    1답변

    아래의 예제 코드에서는 sandbox.log에 파일 설명자를 열고 하위 프로세스에 stdout으로 제공 한 다음 파일 설명자를 닫지 만 하위 프로세스는 여전히 파일에 쓸 수 있습니다. subprocess.Popen은 파일 설명자를 내부적으로 복제합니까? 파일 디스크립터를 서브 프로세스에 전달한 후에 파일 디스크립터를 닫는 것이 안전합니까? % python

    1

    1답변

    제 커널 모듈에서 여러 FD를 생성하고 나중에 ioctl을 통해 사용자 공간에 전달하려고합니다. 사용자 공간 코드는이 FD를 사용하여 poll() 또는 select()을 사용하여 이벤트를 대기합니다. 사용자 공간에 그러한 FD를 작성하는 경우 eventfd()으로 전화를 걸지 만 커널 공간에서 어떻게합니까?

    0

    2답변

    나는 서버 - 클라이언트 chatroom에 C를 작성했습니다. 서버는 클라이언트에 대한 모든 새로운 연결에 대해 새로운 pthread를 작성하며,이 pthread는 수신 할 메시지를 기다리고이 메시지를 모든 파일 설명자의 배열을 사용하여 다른 모든 클라이언트로 보냅니다. ! 클라이언트가 터미널을 닫아 예기치 않은 연결 해제하는 경우 : 클라이언트는 자신이

    0

    1답변

    내가 원하는 것을 더 명확하게 설명하기 위해 사용자가 무언가를 입력했는지 확인하기 위해 코드를 확인해야합니다 (또는 0 이외의 다른 파일 설명자에 읽을 데이터가있는 경우).) (말하자면) 2.5 초마다 프로그램이 멈출 때까지. 사용자가 무언가를 입력하면 printf()이 간단히 알려주고 사용자가 다음 2,5 초 내에 무언가를 입력하면 다시 확인합니다. 그

    0

    1답변

    리눅스에서는 dup command family을 사용하여 파일 설명자를 복제 할 수 있습니다. 시스템 호출을 통해 파일 디스크립터에 대한 중복 수를 구할 수있는 방법이 있습니까?

    -1

    1답변

    두 개의 소켓 파일 디스크립터 a과 b이 있으며, 이는 socket의 기능으로 반환됩니다. 질문은 : a에서 읽은 내용이 b에 쓰여 지도록하려면 어떻게해야합니까? 그러나 b에서 읽은 내용은 a에 기록됩니다. 프록시 같은 이런 상황이 조금 있습니다. 고마워요, 감사합니다! int fd_a, fd_b; void fd_init() {