일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- kernel
- 리버싱
- 커널
- 리눅스
- radare2
- Pwnable.kr
- C언어
- 시스템 프로그래밍
- 취약점
- px4
- C++
- wargame
- Leviathan
- 워게임
- 시그널
- pwn.college
- 프로그래밍
- Bandit
- css
- 컴퓨터구조
- 리눅스커널
- 시스템
- 드론
- pwncollege
- 시스템해킹
- 어셈블리어
- 시스템프로그래밍
- 리눅스 커널
- write up
- 알고리즘
Archives
- Today
- Total
Computer Security
#29 프로세스 개념, 프로세스 생성(실습) 본문
반응형
fork API를 사용해보자.
1. 기본 뼈대를 작성한다.
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가 실행될 수 있는지 알아보자.
4. fork를 예외처리 해주고, test_func을 호출해준다.
i) pid = 0 이면, child process고, pid = 1 이면, parent process이다.
ii) child process라면 본인의 pid를 호출하고, parent process라면 본인의 pid와 자식 pid도 호출하게 한다.
5. 전체 코드이다.
6. gcc 명령어로 컴파일 후, 실행 시켜보자.
정상 출력 되는 것을 알 수 있다!
반응형
'리눅스 시스템 프로그래밍' 카테고리의 다른 글
#31 프로그램 실행과 종료처리 (실습) (2) | 2022.10.06 |
---|---|
#30 프로그램 실행과 종료처리 (0) | 2022.10.05 |
#28 프로세스 개념, 프로세스 생성 (0) | 2022.10.03 |
#27 I/O Multiplexing : epoll (실습) (0) | 2022.10.02 |
#26 I/O Multiplexing : epoll (0) | 2022.10.01 |
Comments