Computer Security

#29 프로세스 개념, 프로세스 생성(실습) 본문

리눅스 시스템 프로그래밍

#29 프로세스 개념, 프로세스 생성(실습)

쿠리 Kuri 2022. 10. 4. 18:30
반응형

fork API를 사용해보자.


1. 기본 뼈대를 작성한다.

main

 

 

 

 

 


2. fork API를 사용해보자.

#include <sys/types.h>
#include <unistd.h>

pid_t fork(void);

파라미터

- 없음

 

 

반환 값

- 성공 시

   - parent process : Child process의 PID

   - child process : 0

 

- 실패 시

    - parent process : -1

    - child process : 생성되지 않음

 

 

 

과정

i) pid_t pid; child pid를 받아올 변수를 선언한다.

 

ii) pid = fork() ; 복제를한다.

 

 

 

 

 


3. 간단한 함수를 하나 만들고, fork가 된 이후 호출해서 같은 text가 실행될 수 있는지 알아보자.

test_function

 

 

 

 

 


4. fork를 예외처리 해주고, test_func을 호출해준다.

예외처리

i) pid = 0 이면, child process고, pid = 1 이면, parent process이다.

 

ii) child process라면 본인의 pid를 호출하고, parent process라면 본인의 pid와 자식 pid도 호출하게 한다.

 

 

 

 

 

 


5. 전체 코드이다.

fork.c

 

 

 

 

 


6. gcc 명령어로 컴파일 후, 실행 시켜보자.

./fork

정상 출력 되는 것을 알 수 있다!

 

반응형
Comments