레코드 잠금
fcntl() 함수
기능: 파일제어
기본형: int fcntl ( int fd, int cmd, struct flock * lock);
fd : 제어할 파일의 파일 식별자
cmd : 동작 지정
lock : 레코드 잠금에서 사용되는 인수
반환값: 실패 -1
(25_1)
(25_2)
(결과)
F_SETLKW로 레코드 잠금설정하기
F_SETLK 는레코드가 다른 프로세스에 의해 이미 잠겨 실패 했을때 실패를 반환하는 반면
F_SETLKW 는 성공할떄 까지 기다린다.
파일을 이용해 프로세스간 통신하기
레코드 잠금 정보 얻어오기
파이프를 이용한 통신
popen()함수
기능 : 파이프를 이용해 명령어를 실행한다.
기본형 : FILE * popen(const char * command , const char * type);
command : 실행할 명령어
type : 통신형태
반환값 : 성공:파일포인터
실패:NULL
헤더 파일 : <stdio.h>
pclose()함수
기능 : 파이프를 닫는다.
기본형 :int pclose(FILE * stream);
stream : 닫을 파이프의 파일 포인터
반환값 : 성공 : 종료상태
실패 : -1
헤더 파일 : <stdio.h>
(25_7)
(25_8)
pipe 함수를 이용한 통신
pipe() 함수
기능 : 파이프를 생성한다.
기본형 : int pipe(int filedes[2]);
filedes[0] : 파이프로부터 데이터를 읽어들일 때 사용하는 파일 식별자
filedes[1] : 파이프에 데이터를 쓸 때 사용하는 파일 식별자
변환값 : 성공: 0
실패:-1
헤더 파일 : <unistd.h>
(25_9)
(25_12)
FIFO를 이용한 통신
mkfifo()함수
기능 : FIFO를 생성한다.
기본형 :int mkfifo (const char * pathname, mode_t mode);
반환값 : 성공 : 0
실패 : -1
헤더파일 : <sys/types.h>
<sys/stat.h>
(25_13)
(25_14)
메시지 큐를 이용한 통신
msgget() 함수 : 메시지 큐를 생성한다
msgsnd()함수 : 메시지 큐를 전송한다
msgrcv()함수 : 메시지 큐에 있는 메시지를 수신한다
msgctl()함수 : 메시지 큐를 제어한다
(26_1)
(26_2)
'코스웨어 > 14년 스마트컨트롤러' 카테고리의 다른 글
프로젝트 발표 코멘트 - 고윤석 (0) | 2014.06.30 |
---|---|
2014.06.27 업무보고 - 17번 오두환 (12) | 2014.06.27 |
20140626양태영 수업보고서(출석번호 16번) (9) | 2014.06.26 |
20140625손병규_수업정리(출석번호 14번) (8) | 2014.06.25 |
20140623 박영주 일일보고서 (12) | 2014.06.23 |
20140620 일일업무보고서 11번 문대영 (14) | 2014.06.20 |
20140619 업무일지 김화린[출석번호10번] (11) | 2014.06.19 |
USB3.0 32기가 공구 진행합니다~ (6) | 2014.06.19 |