명명된 파이프: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
잔글편집 요약 없음
2번째 줄:
 
==유닉스 계열==
보통 쉘에서 사용하는 이름의 파이프와 달리 명명된 파이프는 [[파일 시스템]]을 사용한다. <code>mkfifo()</code><ref>[http://www.opengroup.org/onlinepubs/009695399/functions/mkfifo.html mkfifo()]</ref> 또는 <code>mknod()</code><ref>[http://www.opengroup.org/onlinepubs/009695399/functions/mknod.html mknod()]</ref>에서를 이용하여 명시적으로 만들고만들어진다. 2개의 프로세스가별도 프로세스는 이름을 지정하고지정하여 그 파이프에 액세스접근할 수 있다. 하나의 프로세스는 독자적으로독자(reader)로 오픈하고, 다른 하나는 작가로써작가(writer)로 오픈한다. 명명된 파이프를 만들 <code>mkfifo</code>라는 명령어도 있다.
 
예를 들어, 명명된 파이프를 만들고 파이프에 입력된 것을 gzip으로 압축하는 경우 다음과 같이하면 된다.
 
줄 8 ⟶ 9:
gzip -9 -c < my_pipe > out.gz &
 
별개의 프로세스 쉘에서는, 이와는 완전히 독립적으로 파이프로압축을 압축할해서 데이터를 보내는보낼 것이수도 있다.
cat file > my_pipe
 
명명된 파이프는 일반 파일과 같이파일처럼 삭제할 수도 있다.
rm my_pipe
 
명명된 파이프는 하나의 응용 프로그램에서 다른 응용 프로그램에프로그램으로 정보를 정보전달하기 전송을위해 임시 파일을 만들지 않고도 할 수 있다. 예를 들어, gzip의 압축 해제된 출력을 다음과 같이 명명된 파이프에 연결한다.
 
mkfifo --mode=0666 /tmp/namedPipe