라이브러리
[PHP] posix_mkfifo - FIFO 특수 파일(명명된 파이프)을 만듭니다.
POSIX_mkfifo() 함수
POSIX_mkfifo() 함수는 POSIX (Portable Operating System Interface) 표준에 따라 파일을 생성하는 함수입니다. 이 함수는 FIFO (First-In-First-Out) 파일을 생성하는 데 사용됩니다. FIFO 파일은 프로세스 간 통신을 위한 일종의 pipe입니다.
POSIX_mkfifo() 함수의 사용법
POSIX_mkfifo() 함수는 다음 형식으로 사용됩니다.
#hostingforum.kr
php
posix_mkfifo($filename, $mode);
- `$filename`: FIFO 파일의 이름을 지정합니다.
- `$mode`: FIFO 파일의 권한을 지정합니다. 권한은 0, 1, 2, 3, 4, 5, 6, 7 중 하나를 지정할 수 있습니다.
권한
- 0: 읽기, 쓰기, 실행 권한이 모두 없습니다.
- 1: 읽기 권한이 있습니다.
- 2: 쓰기 권한이 있습니다.
- 3: 읽기, 쓰기 권한이 있습니다.
- 4: 실행 권한이 있습니다.
- 5: 읽기, 실행 권한이 있습니다.
- 6: 쓰기, 실행 권한이 있습니다.
- 7: 읽기, 쓰기, 실행 권한이 있습니다.
예제
다음 예제는 POSIX_mkfifo() 함수를 사용하여 FIFO 파일을 생성하고, 프로세스 간 통신을 하는 방법을 보여줍니다.
#hostingforum.kr
php
// FIFO 파일을 생성합니다.
posix_mkfifo('fifo', 0666);
// 프로세스 1: FIFO 파일에 데이터를 쓰는 프로세스
$fp = fopen('fifo', 'w');
fwrite($fp, 'Hello, World!');
fclose($fp);
// 프로세스 2: FIFO 파일에서 데이터를 읽는 프로세스
$fp = fopen('fifo', 'r');
$data = fread($fp, 1024);
fclose($fp);
echo $data; // Hello, World!
// FIFO 파일을 삭제합니다.
unlink('fifo');
위 예제에서는 프로세스 1이 FIFO 파일에 데이터를 쓰고, 프로세스 2가 FIFO 파일에서 데이터를 읽는 것을 보여줍니다. FIFO 파일은 프로세스 간 통신을 위한 일종의 pipe이기 때문에, 프로세스 1이 데이터를 쓰면, 프로세스 2가 데이터를 읽을 수 있습니다.
주의
FIFO 파일은 프로세스 간 통신을 위한 일종의 pipe이기 때문에, FIFO 파일을 삭제하면, 프로세스 간 통신이 중단됩니다. 따라서 FIFO 파일을 삭제하기 전에, 프로세스 간 통신을 중단하는 방법을 고려해야 합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.