K 개발자
이름 있는 파이프 본문
이름 있는 파이프
이름 있는 파이프named pipe는 글자 그대로 이름이 붙은 파이프로 모든 프로세스가 이 파이프명을 이용해 통신할 수 있다.
FIFOFirst-In First-Out로 통신하려면 우선 FIFO 특수 파일을 생성하고 파일 입출력 함수를 사용하면 된다.
즉, 한 프로세스가 FIFO로 사용할 특수 파일을 생성하면, 이 파일의 이름을 알고 있는 다른 프로세스가 같은 FIFO를 이용해 통신을 수행할 수 있다.
명령으로 FIFO 파일 생성하기
FIFO·특수 파일 생성 : mknod 명령
mknod 파일명 p
FIFO 파일 생성 : mkfifo 명령
/usr/bin/mkfifo [-m mode] path…
함수로 FIFO 파일 생성하기
특수 파일 생성 : mknod(2)
#include <sys/stat.h>
int mknod(const char *path, mode_t mode, dev_t dev);
// path : 특수 파일을 생성할 경로, mode : 특수 파일의 종류와 접근 권한 지정, dev : 블록/문자 장치 설정값
FIFO 파일 생성 : mkfifo(3)
#include <sys/types.h>
#include <sys/stat.h>
int mkfifo(const char *path, mode_t mode);
// path : FIFO 파일을 생성할 경로, mode : 접근 권한 지정
'유닉스(Unix) > 시스템 프로그래밍' 카테고리의 다른 글
메시지 큐 (0) | 2021.08.19 |
---|---|
시스템 V IPC의 공통 요소 (0) | 2021.08.19 |
이름 없는 파이프 (0) | 2021.08.19 |
sigaction 함수의 활용 (0) | 2021.08.19 |
시그널 집합 (0) | 2021.08.19 |
Comments