네임드 파이프 예제

명명 된 파이프의 하나의 매우 유용한 응용 프로그램은 완전히 관련이없는 프로그램이 서로 통신 할 수 있도록하는 것입니다. 예를 들어, 어떤 종류의 요청(파일 인쇄, 데이터베이스 액세스)을 서비스하는 프로그램은 읽기 위해 파이프를 열 수 있습니다. 그런 다음 파이프를 열고 명령을 작성하여 다른 프로세스에서 요청을 할 수 있습니다. 즉, « 서버 »는 « 클라이언트 »를 대신하여 작업을 수행할 수 있습니다. 클라이언트가 작성되지 않거나 서버가 읽힌 경우에도 차단이 발생할 수 있습니다. 작성되지 않은 경우 /tmp 디렉토리에 « fifo_twoway »라는 이름으로 명명된 파이프(라이브러리 함수 mkfifo()를 사용)를 만듭니다. 물론 이전 예제는 백업이 완료되면 신호를 알리는 일반 파일을 생성하기만 하면 상당히 안정적으로 수행될 수 있습니다. 더 복잡한 예로는 매시간 또는 그렇게 깨어나는 백업이 있고 명명된 파이프를 읽고 실행해야 하는지 확인하는 경우일 수 있습니다. 그런 다음 백업하려는 파일을 많이 변경할 때마다 파이프에 무언가를 쓸 수 있습니다. 백업이 모든 것을 확인할 필요가 없도록 파이프에 백업하려는 파일의 이름을 작성할 수도 있습니다.

명명된 파이프라인은 이름 없는 기존의 셸 파이프라인 대신 파일 시스템을 사용합니다. mkfifo(1] 또는 mknod(2)를 사용하여 명시적으로 생성되며 두 개의 별도 프로세스가 이름으로 파이프에 액세스할 수 있습니다. 컴퓨팅에서 명명된 파이프(FIFO라고도 함)는 인턴 프로세스 통신을 위한 방법 중 하나입니다. 파이프 한 두 개를 사용하지 않고 많은 가져오기의 bash 스크립트를 작성하는 것은 어렵습니다. 반면에 명명된 파이프는 훨씬 드뭅니다. 명명된 파이프의 작동 방식을 보여주는 가장 간단한 방법은 예제를 참조하십시오. 위에 표시된 대로 파이프를 만들었다고 가정합니다. 하나의 가상 콘솔1에서 입력: 파이프를 공급할 프로세스가 완료되면 일부 출력이 표시됩니다. 명명된 파이프는 파일 시스템에 표시되며 다른 파일과 마찬가지로 읽고 쓸 수 있습니다. 즉, 파일로 표시됩니다. 그러나 대부분의 파일과 는 달리, 그들은 내용이 없는 것처럼 보이지 않습니다. 명명된 파이프에 많은 데이터를 쓰더라도 파일이 비어 있는 것처럼 보입니다.

By | 2019-08-02T21:34:33+00:00 août 2nd, 2019|Non classé|Commentaires fermés sur 네임드 파이프 예제

About the Author: