함수
- fork():
- 프로세스를 복제하는 함수로, 호출한 프로세스의 복사본(자식 프로세스)을 만듭니다.
- exec() 계열 함수:
- 새 프로세스를 실행하기 위한 함수로, 자식 프로세스에서 새로운 프로그램을 실행할 때 사용됩니다.
- 예: execl(), execp(), execv(), execvp() 등
- wait() 및 waitpid():
- 자식 프로세스가 종료될 때까지 부모 프로세스가 대기하도록 합니다.
- kill():
- 특정 프로세스에 시그널을 보내는 함수로, 프로세스를 종료하거나 특정 시그널을 처리하게 할 수 있습니다.
- getpid():
- 현재 프로세스의 프로세스 ID(PID)를 반환하는 함수입니다.
- getppid():
- 부모 프로세스의 프로세스 ID를 반환합니다.
- exit():
- 현재 프로세스를 종료하는 함수입니다.
- setuid() / getuid():
- 프로세스의 사용자 ID를 설정하거나 가져옵니다.
- setgid() / getgid():
- 프로세스의 그룹 ID를 설정하거나 가져옵니다.
- sleep():
- 프로세스를 일정 시간 동안 대기 상태로 만듭니다.
- nice():
- 프로세스의 우선순위를 변경하는 함수로, 더 높은 또는 낮은 우선순위를 설정할 수 있습니다.
매크로
프로세스 제어 매크로
프로세스 종료 상태나 시그널 처리를 위한 매크로입니다(status는 자식 프로세스의 반환값).
- WIFEXITED(status): 자식 프로세스가 정상 종료했는지 여부를 검사하는 매크로.
- WEXITSTATUS(status): 정상 종료한 자식 프로세스의 종료 코드를 반환.
- WIFSIGNALED(status): 자식 프로세스가 시그널에 의해 종료되었는지 여부를 검사.
- WTERMSIG(status): 자식 프로세스를 종료시킨 시그널 번호를 반환.
- WIFSTOPPED(status): 자식 프로세스가 일시 중지되었는지 검사.
- WSTOPSIG(status): 일시 중지된 프로세스에 전달된 시그널 번호를 반환.
- WNOHANG: waitpid() 호출 시 대기하지 않고 즉시 반환하도록 하는 옵션.
- WUNTRACED: 추적되지 않은 자식 프로세스의 상태 변화를 대기.
시그널 처리 매크로
시그널 처리를 위한 다양한 매크로들이 있으며, 시그널 번호나 시그널 설정과 관련된 기능을 제공합니다.
- SIGINT: 인터럽트 시그널 (일반적으로 Ctrl + C에 의해 발생).
- SIGTERM: 프로세스를 종료하라는 시그널.
- SIGKILL: 강제로 프로세스를 종료하는 시그널.
- SIGSTOP: 프로세스를 일시 중지하는 시그널.
- SIGCONT: 중지된 프로세스를 재개하는 시그널.
- SIG_IGN: 시그널 무시.
- SIG_DFL: 시그널의 기본 동작으로 설정.
'CS > OS' 카테고리의 다른 글
데몬 쓰레드(daemon thread), join, 쓰레드 그룹(쓰레드 풀 추후 작성예정) (2) | 2024.09.14 |
---|---|
쓰레드의 생성과 시작(JAVA)&Black Box와 White Box 방식 (1) | 2024.09.11 |
좀비 프로세스 (0) | 2024.09.10 |
fork(프로세스 생성) (0) | 2024.09.07 |
Process와 Thread(+멀티, 개념) (0) | 2024.08.13 |