라이브러리

[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 파일을 삭제하기 전에, 프로세스 간 통신을 중단하는 방법을 고려해야 합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 316 페이지

검색

게시물 검색