C언어로 멀티프로세스?사용법을 잘 모르겠네요..

kjh05072000의 이미지

제가 한번 짜보려고 하는게..
두개의 프로세스로
(a)는 계속 입력을 받고
(b)는 계속 그냥 무한루프로 도는 프로그램인데..
a에서 1이라는 입력값을 받으면
b가 무한루프를 돌기시작하는데..(주기적인 printf를 할때?)
a는 멈춰있는 상태가아니라
입력값을 받을 준비가 되어있어서
b가 돌고있는 도중에 a에 0이 입력되면 (데이터값은.. 소켓이용해서 클라이언트에서 받아옵니다..)
b가 종료?되는 프로그램을 구성해야되는데..
어떻게 손을 대야할지를 모르겠네요..
fork는 자식프로세서가 끝나야 부모프로세서가 동작을 하고..
동시에 작업해야하는데..
이건 어떻게 해야되는지 ㅠㅠ
좀 도와주세요 ㅠ

익명 사용자의 이미지

#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;
}

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.