C언어로 멀티프로세스?사용법을 잘 모르겠네요..
글쓴이: kjh05072000 / 작성시간: 화, 2014/06/10 - 10:36오전
제가 한번 짜보려고 하는게..
두개의 프로세스로
(a)는 계속 입력을 받고
(b)는 계속 그냥 무한루프로 도는 프로그램인데..
a에서 1이라는 입력값을 받으면
b가 무한루프를 돌기시작하는데..(주기적인 printf를 할때?)
a는 멈춰있는 상태가아니라
입력값을 받을 준비가 되어있어서
b가 돌고있는 도중에 a에 0이 입력되면 (데이터값은.. 소켓이용해서 클라이언트에서 받아옵니다..)
b가 종료?되는 프로그램을 구성해야되는데..
어떻게 손을 대야할지를 모르겠네요..
fork는 자식프로세서가 끝나야 부모프로세서가 동작을 하고..
동시에 작업해야하는데..
이건 어떻게 해야되는지 ㅠㅠ
좀 도와주세요 ㅠ
Forums:
둘다 작동합니다.
#include
#include
#include
// fork 에 참조할 만한 간단한 예제 입니다.(joinc)
int main(int argc, char **argv)
{
int pid;
pid = fork();
if (pid > 0)
{
while(1) {
// 요기에 pid 는 fork 된 자식 pid 입니다.
printf("부모 프로세스 %d : %d\n", getpid(), pid);
sleep(1);
}
}
else if (pid == 0)
{
while(1) {
printf("자식 프로세스 %d\n", getpid());
sleep(1);
}
}
else if (pid == -1)
{
perror("fork error : ");
exit(0);
}
return 0;
}
댓글 달기