본문으로 바로가기
homeimage

IPC

해당되는 글 15
  • thumbnail
    컴퓨터/프로그래밍

    C언어 파이프를 이용한 IPC 함수 pipe()

    C함수 파이프를 이용한 IPC pipe() 프로세스 간의 통신(IPC)에서 사용하는 파이프를 생성합니다. 헤더: unistd.h 형태: int pipe(int filedes[2]) 인수: int filedes[2] 파이프의 입출력 디스크립터 반환: 0 == 성공, -1 == 실패 pipe()에서 생성하는 파이프는 프로세스 안에 생성되는 것이 아니라 커널에 생성되며 프로세스에는 다만 파이프를 이용할 수 있는 파일 디스크립터만 제공됩니다. 그러므로 하나의 프로세스에서 파이프를 생성했다고 해도 다른 프로세스에서 그 디스크립터를 사용할 수 있다면, 그 디스크립터를 이용하여 서로 통신할 수 있습니다. 그러나 pipe()에서 생성한 파이프의 문제점은 입출력 방향이 결정되어 있다는 점이니다. pipe()를 실행하면 ..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 파이프 닫기 함수 pclose()

    C함수 파이프 닫기 pclose() popen()에서 열기를 한 파이프 핸들 사용을 종료합니다. 헤더: stdio.h 형태: int pclose( FILE *stream) 인수: FILE *stream 닫기를 할 파일 포인터 반환: -1 != 성공, -1 == 실패 C언어 pclose() 함수 예제 예제에서는 route 명령을 실행하여 그 결과를 화면에 출력합니다. 예제 내용은 간단합니다만 읽어 들인 문자열을 가공한다면 게이트웨이 정보를 구할 수 있습니다. #include #define BUFF_SIZE 1024 int main( void) { char buff[BUFF_SIZE]; FILE *fp; fp = popen( "route", "r"); if ( NULL == fp){ perror( "pope..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 파이프 생성 함수 popen()

    C함수 파이프 생성 popen() popen() 함수는 파이프 기능을 이용하여 다른 프로그램의 실행 결과를 읽어 들이거나, 다른 프로그램의 표준 입력 장치로 출력할 수 있습니다. 헤더: stdio.h 형태: FILE *popen(const char *command, const char *type) 인수: char *command 실행할 명령어 char *type 통신 형태 반환: NULL != 파일 포인터, NULL == 실패 유닉스에서는 프로그램에서 표준 출력 장치로 출력한 내용을 다른 프로그램의 입력으로 전송할 수 있습니다. 이를 파이프라고 하는데, 예로 파일 목록 중에 ff 문자가 있는 파일을 검색한다면 아래와 같이 실행할 것입니다. ]$ ls -al | grep ff 유닉스에서는 작은 것이 아름답..
    이모티콘창 닫기
    울음
    안녕
    감사해요
    당황
    피폐

    이모티콘을 클릭하면 댓글창에 입력됩니다.