검색어 입력폼
평가점수A

[운영체제 운영체제] 시그널을 이용한 부모-자식 프로세스 간의 통신

등록일 2004.03.19 파일확장자기타파일 (c) | 4페이지 | 가격 500원

소개글

--

목차

없음

본문내용

시그널을 이용한 부모-자식 프로세스간의 통신

ㅇ signal() 시그널 핸들러 등록
ㅇ kill() 타 프로세스에게 특정 시그널을 전달

ㅇ 부모 프로세스
- 5개의 자식 프로세스 생성
- 시그널을 이용하여 작업을 지시하고 대기
- 결과파일을 읽고 결과 출력

ㅇ 자식 프로세스
- 부모프로세스로 부터 시그널을 통해 명령을 받고
- 작업을 완료후 부모에게 시그널로 알린다.
- 결과데이터는 파일에 저장한다.


#include<stdlib.h>
#include<stdio.h>
#include<sys/types.h>
#include<signal.h>
#include<unistd.h>

static int bChild = 0; // 자식프로세스의 상태
static int bParent = 0; // 부모..
static int nCall = 0; // 자식 프로세스가 시그널을 받은 회수

void ParentHandler(int sig); // 부모 프로세스 시그널 핸들러
void ChildHandler(int sig); // 자식

int main()
{
pid_t pid[5], Pid;
int i, j, sum, record;
int iChild;
FILE *fp[5];
char filename[5][10];


// 자식 프로세스 5개 생성
for(i=0;i<5;i++)
{
Pid = fork();
if(Pid==-1) // error ..
{
perror("fork failed");
exit(1);
}
다운로드 맨위로