dup

    0

    2답변

    다음은 코드 단편입니다. int saved_stdout = dup(1); int fd = open("file.txt", O_WRONLY | O_CREAT, 0640); close(1); dup(fd); close(fd); printf("This text should go into the file\n"); //restore stdout du

    0

    1답변

    3 개의 인수, ./a.out abc를받는 프로그램을 수행합니다. 여기서 a와 c는 열 번호이고 b와 로 구분 된 피연산자 :. true로 설정하면 stdin이 재생되고 그렇지 않으면 결과가 재생되지 않습니다. 예 : $ ./a.out 1 > 2 $ 5:2:1:6 5:2:1:6 $ ./a.out 2 = 4 $ 1:2:3:4 $ 나는 파이프를

    4

    1답변

    C 프로그래밍 (Linux-UNIX-Programmierung, Jürgen Wolf 저)에 대한 (독문학) 책에서 영어로 번역 된 문장은 다음과 같을 것입니다. 나를) : 어떤 경우에는 파일 설명자 [1]를 복제해야 할 수도 있습니다. 예를 들어 부모 프로세스가 자식 프로세스와 데이터를 교환하려고하고 자식 프로세스가 exec*() [2]를 사용하여 새 프

    0

    2답변

    리눅스에서 실행되는 C로 작은 쉘을 작성하고 있습니다. 관련 dups가 많이 있기 때문에 위치 0에있는 내용을 인쇄 할 수있는 방법이 있는지 묻고 싶습니다. 예를 들어 dup2 (file_name, 0)을 호출하면에 이라는 파일 이름을 인쇄하는 방법이 있습니다. 디버깅에 사용할 수 있습니까?

    0

    1답변

    다음은 두 자식 프로세스간에 올바른 파이핑을 수행하는 방법을 이해하려고 시도한 것입니다. 나는 한 리눅스 명령의 출력을 다른 명령에 넘겨주고 프로그램을 성공적으로 반환하려고한다. 그러나 나는 두 번째 자식이 갇혀 있고 부모는이 자식을 영원히 기다리고 있다고 생각합니다. 나는 왜이 코드가 오랫동안 빠져 나가고 있는지 알아 내려고 노력 해왔다. 나는 C 시스템

    -1

    2답변

    이 코드는 2 개의 파일을 가져 와서 결과를 세 번째 파일로 저장합니다. 이렇게해도 문제가되지 않지만 마지막 printf는 화면에 인쇄되지 않습니다. 첫 번째는 잘 인쇄됩니다. 이것은 stdout을 올바르게 복원하지 못했음을 나타냅니다. int main (int argc, char *argv[]) { char *join[4]={"cat", "fi

    0

    1답변

    여기에 내 코드가 있는데 제대로 작동하지 않습니다. int pfd = open("file", O_WRONLY, 0777); int saved = dup(1); close(1); dup(pfd); close(pfd); printf("This goes into file\n"); // restore it back dup2(saved, 1); cl

    0

    1답변

    파이프 및 포크 작업 방법을 배우기 위해 샘플 프로그램을 준비 중입니다. 내 기본 구현에서, 내 자식 프로세스에서, 나는 0을 닫고 파일 기술자 0이 이제 내 파이프의 읽기 끝이되도록 파이프의 읽기 끝을 복제했다. 내 부모 프로세스에서 문자열을 쓰고 자식 프로세스에서 cin을 사용하여 문자열을 읽습니다. 기본적으로 파이프의 읽기 끝이고 모든 문자열은 인쇄되

    0

    1답변

    저는 두 개의 자식 프로세스를 생성하기 위해 두 번 포크하는 자식 프로세스를 만들고 싶었습니다. 하나의 출력으로 다른 출력으로 보냅니다. 이 예제 코드를 발견했습니다. 하지만 어떻게 작동하는지 혼란 스럽습니다. 을 찾았습니다 하지만 dup이 사용되는 방식과 작동 방식이 혼란 스럽습니다. 즉 close(1); dup(fd[1]); close(fd[0]);

    -2

    1답변

    쉘, 파이프 및 포크를 구현 중입니다. 기본적으로 동일한 부모의 두 자식 프로세스간에 메시지를 전달합니다. 개별 명령의 작업이지만 파이프 명령이 작동하지 않습니다. 잘못된 파일 설명자와 같은 오류가 발생합니다. 아무도 이것으로 나를 도울 수 있습니까? 다음은 제 코드입니다. /* 포크 (fork) 부모 */ if ((pid = fork()) <0) co