0. 시작하기전에
- 지난 포스팅에서는 프로세스에 대해 간략하게 배우면서, 프로세스 ID에 대해서 알아보았다.
- 이번 포스팅에서는 프로세스와 관련된 시스템 콜에 대해서 배울 예정이다.
1. 프로세스 관리에 사용되는 시스템 콜
- 프로세스 관리 관련된 시스템 콜을 사용해보기 위해서는 gcc를 설치해야 한다.
- 이전 포스팅을 참고하여 gcc(C언어 컴파일러)하는 것을 권장한다.
a) getpid() 와 getppid()
- 현재 프로세스의 pid와 ppid를 반환하는 함수다.
- 프로세스 ID는 커널 영역을 통해 알아낼 수 있는 정보이기 때문에, 시스템 콜을 사용한다.
- 우선 함수의 원형부터 살펴보자.
#include <sys/types.h>
#indclude <unistd.h>
pid_t getpid(void);
pid_t getppid(void);
- 실습코드는 다음과 같다.
#include <sys/type.h>
#include <unistd.h>
#include <stido.h>
int main()
{
printf("pid=%d\n", getpid());
printf("ppid=%d\n", getppid());
return 0;
}
- test.c라는 파일을 생성하여 위의 코드를 작성한 후, gcc명령어를 통해서 test라는 이름의 실행파일을 생성한다.
gcc test.c -o test
- 해당 실행파일을 실행하면 위의 사진과 같은 결과를 얻을 수 있다.
- 해당 실행파일을 실행하고 난 뒤에 ps를 실행시키면 다음과 같은 결과를 얻을 수 있다.
- test 프로그램을 실행하면, PID 24062번을 할당 받는다.
- 종료 후 ps를 실행시키면 다음 번호인 PID 24063번 할당 받는 것을 확인할 수 있다.
- 즉, ps 명령어를 통해서 프로세스를 생성한 것이다.
- 이렇게 시스템 프로그래밍을 간단한 예제를 통해 실습해보았다.
'컴퓨터공학기초 개념 > 시스템 프로그래밍' 카테고리의 다른 글
20. 프로세스 - 프로세스 생성(exec) (0) | 2021.09.15 |
---|---|
19. 프로세스 - 프로세스 생성(fork) (0) | 2021.09.15 |
17. 프로세스 - 프로세스 ID (0) | 2021.09.15 |
16. 시스템 프로그래밍 - ABI와 표준 (0) | 2021.09.10 |
15. 시스템 프로그래밍 핵심개념 (0) | 2021.09.10 |
댓글