/* n개의 프로세스 체인을 만드는 프로그램, n은 커맨드라인 인자로 받음 simplechain.c */
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char **argv)
{
pid_t childpid = 0;
int i, n;
if( argc != 2)
{
fprintf(stderr, "Usage : <%s> <process> \n", argv[0]);
return 1;
}
n = atoi(argv[1]);
for( i=1; i<n; ++i )
if( childpid = fork() )
break;
fprintf(stderr, "[i:%d] process ID : %ld parent ID : %ld child ID : %ld\n", i, (long)getpid(), (long)getppid(), (long)childpid);
return 0;
}
/* 커맨드라인 인자로 n을 받으며, n 프로세스의 팬을 생성 simplefan.c*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char **argv)
{
pid_t childpid = 0;
int i, n;
if( argc != 2)
{
fprintf(stderr, "Usage : <%s> <process> \n", argv[0]);
return 1;
}
n = atoi(argv[1]);
for( i=1; i<n; ++i )
if( (childpid = fork()) <= 0 )
break;
fprintf(stderr, "[i:%d] process ID : %ld parent ID : %ld child ID : %ld\n", i, (long)getpid(), (long)getppid(), (long)childpid);
return 0;
}
'IT_Programming > System Programming' 카테고리의 다른 글
Gcc Complie & Linking (0) | 2009.05.19 |
---|---|
[Linux] 데몬 프로세스 만들기 (1) | 2008.01.25 |
[Linux] 데몬을 위한 fork() (0) | 2007.12.15 |
[Linux] 세마포어 핸들링 (0) | 2007.11.18 |
linux man page : Linux System Call 모음 (0) | 2007.10.03 |